Removiendo Montículos


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Pascal, Prolog, Swift, VB

Siempre pensando en la experiencia de pasteo de las vacas, el Granjero Juan (GJ) ha encontrado que él debe remover N (1 \leq N \leq 50000) montículos invisibles del pastizal. Los montículos están convenientemente arreglados en una línea recta y numerados 1...N con cada montículo teniendo alguna altura H_i (1 \leq H_i \leq 10000). GJ usará los explosivos tradicionales para destruir los montículos. Estos explosivos están formulados para destruir montículos adyacentes en tanto estos montículos adyacentes sean estrictamente más corto que el montículo más cercano que esté siendo destruido. La explosión puede continuar pasando al montículo más cercano adyacente al montículo adyacente siguiente si es aún más corto que el montículo más cercano recién destruido. Tan pronto como un montículo encontrado por la explosión no es más corto, no más destrucción ocurre en ese lado del montículo objeto (el otro lado sigue las mismas reglas con cualesquiera montículos que aparezcan ahí). Considere una línea de nueve montículos con estas alturas:

        1 2 5 4 3 3 6 6 2

Si GJ vuela el tercer montículo (con altura 5), entonces el segundo montículo también será destruido (altura 2) y el primer montículo (altura 1) también será destruido. De manera similar, el cuarto montículo (altura 4) y el quinto montículo (altura 3) serán destruidos desde que ellos son sucesivamente más cortos, dejando la línea como esto:

       * * * * * 3 6 6 2

Dos explosiones más (en los montículos 7 y 8) destruirán el resto. Ayude a GJ a determinar el número mínimo de cargas de explosivos que él necesita para destruir los montículos.

Entrada

• Línea 1: Un solo entero, N.

• Líneas 2…N+1: La línea i+1 contiene H_i.

Salida

• Líneas 1..?: Cada línea contiene un entero el cual es el índice de un montículo a ser volado. Los índices deben ser mostrados en orden ascendente.

Ejemplo de Entrada

9
1
2
5
4
3
3
6
6
2

Ejemplo de Salida

3
7
8

Comments

There are no comments at the moment.