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.