Tarefa 12 - Busca de preço

Prazo de entrega recomendado:

Você implementará um sistema de busca de preço online. Será necessário implementar uma árvore binária de busca.


Aplicativos de busca de preço recebem o nome de um item em que o usuário está interessado e devolve os melhores anúncios disponíveis. Isso evita promoções enganosas que alegam vender um produto muito mais barato, quando na realidade esse item é vendido regularmente por outras lojas na mesma faixa de preço.

Um anúncio está na mesma faixa de preço de uma oferta se vender o mesmo item por um preço até 10% maior. Por exemplo, se um produto está anunciado por R$ 100,00, então estão na mesma faixa de preço anúncios do mesmo produto por R$ 50,00 ou R$ 110,00, mas não está na mesma faixa de preço um anúncio por R$ 110,01.

Esses aplicativos funcionam cadastrando previamente os anúncios publicados em diversos sites de venda. Quando o usuário visita uma oferta qualquer na internet, o aplicativo consulta todos os anúncios conhecidos na mesma faixa de preço.

Cansados das promoções enganosas dos últimos anos, você e um grupo de amigos decidiram criar um aplicativo de busca de preços para se proteger na próxima temporada de queima de estoque. Sua tarefa é escrever um programa busca.c que busca os melhores preços de uma sequências de anúncios eficientemente.

Entrada

A primeira linha contém um número $n$ e cada uma das $n$ linhas seguintes contém um anúncio cadastrado, representado por nome da loja, código do produto e valor.

Depois, há uma linha com o número $m$ e cada uma das $m$ linhas seguintes contém uma consulta do usuário, representada por código do produto e valor da oferta.

Exemplo de entrada

6
papelaria 10012 9.99
eletronic 80333 1000.00
papelaria 10001 1.99
eletronic 10012 15.00
osimports 10012 11.00
osimports 80333 1300.00
2
10012 10.00
80333 800.00

Saída

Para cada consulta do usuário, devem ser listados todos os anúncios na mesma faixa de preço, ordenados pelo nome da loja.

Exemplo de saída

OFERTAS para 10012:
osimports 10012 11.00
papelaria 10012 9.99

OFERTAS para 80333:
nenhuma boa oferta foi encontrada

Critérios

É obrigatório representar os anúncios cadastrados utilizando uma árvores binária de busca.

Correção

Esta tarefa será corrigida automaticamente sempre que você realizar um git push. Depois de terminada a tarefa, deve-se utilizar o botão na interface de notas para solicitar a correção de um monitor.

Turma AB: O peso desta tarefa será 4.