Solução escrita por Arthur Lobo
Conhecimento prévio necessário:
Primeiro, enumeramos todos os possíveis valores de , que podem variar de até . Isso acontece porque se , então o melhor é . Isso faz com que qualquer solução ser pior do que .
Com o fixado, basta encontrar qual o melhor valor de , ou seja, minimizar . Fazendo , reduzimos o problema para, dado um inteiro minimizar .
Se for menor ou igual a , então o ótimo é .
Se for maior que , então o valor ótimo de será ou .
Com essa solução, podemos varias de até e encontrar os dois valores possíveis de em utilizando a função sqrt do C++. Sendo assim, essa solução funciona em .