Secuencia tejado T28896


Statement
 

pdf   zip

thehtml

Una "secuencia tejado" es una secuencia de enteros sin centinela que tiene las siguientes propiedades:

  • El primer y último elemento son iguales.
  • Tiene dos partes de la misma longitud: una subsecuencia creciente hasta el punto medio que da lugar a una subsecuencia decreciente hasta el final (las dos partes del tejado).

NOTA: Abrid el PDF para ver la imagen, en la web no aparece.

Para ser totalmente precisos, consideramos que los elementos de la secuencia tejado son xi, con 1 ≤ iN y N impar. Sea k la posición central de la secuencia (es decir, N = 2k − 1). La subida inicial incluye los elementos x1, x2, …, xk−1, xk y se cumple que xi−1xi para 2 ≤ ik. La bajada incluye xk y tiene los elementos xk, xk+1, …, xN−1, xN, y se cumplen dos condiciones: por una parte, xk > xk+1 estrictamente (el principio de la bajada); por otra, que xi−1xi, para el resto de elementos, k+2 ≤ iN. Además se cumple que x1 = xN.

Haz un programa que determina si la secuencia de entrada es una "secuencia tejado".

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 todos. 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 de enteros sin centinela.

Salida

La palabra "si" si la secuencia de entrada es una "secuencia tejado" y "no" en caso contrario.

Public test cases
  • Input

    0 0
    

    Output

    no
    
  • Input

    0 0 0 0 3 2 2 2 -1
    

    Output

    no
    
  • Input

    0 1 0
    

    Output

    si
    
  • Input

    0 0 1 0
    

    Output

    no
    
  • Input

    1 2 3 4
    

    Output

    no
    
  • Input

    4 3 2 1
    

    Output

    no
    
  • Input

    -1 1 1 3 2 2 -1
    

    Output

    si
    
  • Input

    100 200 300 400 300 200 100
    

    Output

    si
    
  • Input

    0 3 3 3 3 0 0 0 0
    

    Output

    si
    
  • Input

    0 0 0 0 3 2 2 2 0
    

    Output

    si
    
  • Information
    Author
    Pau Fernández
    Language
    Spanish
    Translator
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    C++
    User solutions
    C++