Solução Informática Intermediário – Semana 48

por

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

 

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *