Voltar

uCoder | 1266 | Nível: 4 | Tempo Limite: 3

Heap, heap!

Adaptado por Erich Rodrigues

Competição: Interfatecs 2016 1ª Fase


Heaps são estruturas de dados muito interessantes, que permitem solucionar alguns problemas de maneira bem elegante. Um heap é, antes de mais nada, uma árvore. E é uma árvore em que todos os seus níveis estão completos, com eventual exceção do seu último nível. No caso de estar incompleto, o último nível estará preenchido a partir da esquerda, como mostram as figuras 1, 2 e 3. Se em um heap cada nó tem o seu valor maior ou igual ao de cada um de seus filhos, ele é chamado Max-Heap; se ocorrer o inverso, ou seja, cada nó possui um valor menor ou igual ao de cada um de seus filhos, temos um Min-Heap.

Seu objetivo neste problema é determinar se uma árvore binária completa informada é um Max-Heap, um Min-Heap ou nenhum dos dois.


Entrada

A entrada consiste de vários casos de teste. Cada caso é dado em uma linha da entrada iniciada por um inteiro N (2 ≤ N ≤ 25) que indica a quantidade de nós da árvore binária. Seguem-se então N inteiros V (-1000 ≤ V ≤ 1000) correspondentes aos nós da árvore, apresentados a partir da raiz e, em cada nível, os nós são apresentados da esquerda para a direita. Considere que não serão informadas árvores com todos os seus valores iguais. O conjunto de entradas deve ser lido até a condição de fim de arquivo ser atingida.


Saída

Caso a árvore lida em um caso de teste seja um Max-Heap, imprimir a string ‘max’ (em minúsculas); caso seja um Min-Heap, imprimir ‘min’ (em minúsculas) e caso a árvore lida não seja nem um Max-Heap nem um Min-Heap, imprimir ‘nada’ (em minúsculas).


Exemplo de Entrada Exemplo de Saída

7 90 68 30 44 53 14 7
7 7 53 14 68 90 44 30
10 78 25 36 7 19 26 17 1 2 3
7 90 53 30 44 68 14 7
7 7 53 44 68 90 14 30
10 78 19 36 7 25 26 17 1 2 3

max
min
max
nada
nada
nada