Un "escalón" es una subsecuencia de w enteros del mismo valor h. El valor repetido h de un escalón se llama la "altura", y el número de elementos w es la "anchura". Por ejemplo, las subsecuencias siguientes son "escalones": "1" (h = 1, w = 1), "5 5 5" (h = 5, w = 3), y "-1 -1 -1 -1" (h = −1, w = 4).
Una "secuencia escalera" es una secuencia no vacía de enteros sin centinela, con las siguientes propiedades:
NOTA: Abrid el PDF para ver la imagen, en la web no aparece.
Ejemplos de secuencias escalera:
1 1 2 2 3 3 | 3 escalones, w = 2, y D = 1. |
10 6 2 -2 | 4 escalones, w = 1, y D = −4. |
0 0 0 0 3 3 3 3 | 2 escalones, w = 4, y D = 3. |
Haz un programa que determina si la secuencia de entrada es una "secuencia escalera".
Observación
Este problema tiene como centros de interés la corrección, la eficiencia y la legibilidad.
Los diferentes juegos de prueba de este problema otorgan una puntuación parcial, y la nota del problema es la suma de todas. Los juegos de prueba están separados en corrección y eficiencia, y los de eficiencia usan entradas de longitudes muy grandes y es necesario que el programa haga el mínimo número de operaciones posible para llegar al resultado.
Entrada
Una secuencia no vacía de enteros sin centinela.
Salida
La palabra "si" si la secuencia de entrada es una "secuencia escalera" y "no" en caso contrario.
Input
0
Output
no
Input
1 2
Output
si
Input
0 0 1 1
Output
si
Input
3 3 2 2 0 0
Output
no
Input
5 5 0 0 -5 -5
Output
si
Input
1 1 1 2 2 3 3 3
Output
no
Input
7 7 7 3 3 3 -1 -1 -1
Output
si
Input
0 0 1 1 0 0
Output
no
Input
-10 -20 -30 -40 -50
Output
si
Input
1 0 -1 -2 -2
Output
no