Informática Intermediário - Semana 74

Isósceles

Os irmãos Sérgio e Luiz estavam brincando com cubinhos de madeira e queriam construir um muro, que acabou ficando incompleto, com as colunas tendo diferentes alturas, como nessa figura.

Eles decidiram agora que a brincadeira seria retirar cubinhos, sempre de cima para baixo nas colunas, de maneira que no final restasse apenas um triângulo isósceles de cubinhos. Eles podem apenas retirar cubinhos do muro, sem recolocar em outra coluna, e os triângulos têm que ser completos. A figura abaixo ilustra os cinco primeiros triângulos isósceles de cubinhos, do tipo que eles querem, com alturas 1, 2, 3, 4 e 5 respectivamente.

Dada a sequência de alturas das colunas do muro, seu programa deve ajudar Sérgio e Luiz a descobrir qual é a altura máxima que o triângulo poderia ter ao final. No muro da primeira figura, com 30 colunas de cubinhos, o triângulo mais alto possível teria altura igual a sete.

Entrada

A primeira linha da entrada contém um inteiro N, 1\leq N\leq50000, representando o número de colunas do muro. A segunda linha contém N inteiros A_i, 1\leq A_i \leq N, para 1\leq i\leq N, indicando as alturas de cada coluna.

Saída

Seu programa deve produzir uma única linha com um inteiro H, representando a altura máxima que um triângulo poderia ter ao final.

Exemplos

ENTRADA SAÍDA
16
5 6 5 8 9 10 5 8 9 5 7 9 9 9 6 3
6
ENTRADA SAÍDA
8
5 1 1 1 1 1 1 3
1

Enviar solução: uri