Seqüència teulada T28896


Statement
 

pdf   zip

thehtml

Una "seqüència teulada" és una seqüència d’enters sense sentinella que té les següents propietats:

  • El primer i últim element són iguals.
  • Té dues parts de la mateixa longitud: un subseqüència creixent fins al punt mig que dóna lloc a una subseqüència decreixent fins al final (les dues parts de la teulada).

NOTA: Obriu el PDF per veure la imatge, a la web no apareix.

Per ser totalment precisos, considerem que els elements de la seqüència teulada són xi, amb 1 ≤ iN i N senar. Sigui k la posició central de la seqüència (és a dir, N = 2k − 1). La pujada inicial inclou els elements x1, x2, …, xk−1, xk i es compleix que xi−1xi per a 2 ≤ ik. La baixada inclou xk i té els elements xk, xk+1, …, xN−1, xN, i es complexien dues condicions: per una banda, xk > xk+1 estrictament (el principi de la baixada); per altra, que xi−1xi, per a la resta d’elements, k+2 ≤ iN. A més a més es compleix que x1 = xN.

Fes un programa que determina si la seqüència d’entrada és una "seqüència teulada".

Observació

Aquest problema té com a centres d’interès la correctesa, l’eficiència i la llegibilitat.

Els diferents jocs de prova d’aquest problema otorguen una puntuació parcial, i la nota del problema és la suma de tots. Els jocs de prova estan separats en correctesa i eficiència, i els d’eficiència fan servir entrades de longituds molt grans i és necessari que el programa faci el mínim número d’operacions possible per arribar al resultat.

Entrada

Una seqüència d’enters sense sentinella.

Sortida

La paraula "si" si la seqüència d’entrada és una "seqüència teulada" i "no" en cas contrari.

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
    Catalan
    Other languages
    Spanish
    Official solutions
    C++
    User solutions
    C++