Solução por Sofhia Souza
Para resolver esse problema, é necessário conhecimento sobre o algoritmo de busca binária.
Se fossemos testar todos os possíveis pares de casas, o algoritmo ficaria quadrático, o que é muito lento para $$N = 10^5$$. Logo, teremos que, para cada casa $$x$$, fazer uma busca binária no vetor de casas para encontrar a casa y, onde $$x+y$$ é igual (ou o mais próximo) de $$k$$. Assim que encontrarmos uma soma igual a $$k$$, imprimimos os dois valores.
Segue o código para melhor entendimento:
https://gist.github.com/sofhiasouza/2ef2ada6ad54554930d3e955661273bf

Deixe um comentário