Suma Bicreixent. X59595


Statement
 

pdf   zip   main.R

html

Una seqüència és bicreixent si és la concatenació de dues seqüències creixents, tals que l’últim element de la primera seqüència és més gran que el primer element de la segona seqüència. És a dir, la seqüència

S = { s1s2s3, …, sN } 

és bicreixent si i només si:

  1. Hi ha un subíndex m tal que 2 ≤ mN−1 i sm−1 > sm.
  2. Per a tots els subíndexos i tal que 2 ≤ iN i im, es compleix que si−1si.

Sigui V un vector que conté una seqüència bicreixent. Podem veure aquest vector com la concatenació de dos vectors creixents V1 i V2 tals que V1[len(V1)] > V2[1].

Feu la funció suma_bicreixent(V) tal que, donat un vector V que conté una seqüència bicreixent (és a dir, no cal que ho comproveu, sempre serà bicreixent), torni TRUE si i només si la suma de tots dos vectors creixents de què es composa el vector V és igual. Per exemple, si el vector és:

V =1234145

la funció torna TRUE ja que la suma de [1, 2, 3, 4] és igual a la suma de [1, 4, 5], mentre que si el vector és

V =131526136

tornarà FALSE, ja que la suma de [1 , 3 , 15 , 26] és diferent a la suma de [1, 3, 6]

Entrada

Un vector V d’enters amb una seqüència bicreixent.

Sortida

TRUE si i només si la suma de tots dos vectors creixents de què es composa el vector V és igual.

Public test cases
  • Input

    7
    1 2 3 4 1 4 5
    

    Output

    TRUE 
    
  • Input

    7
    1  3  15  26 1 3 6
    

    Output

    FALSE 
    
  • Information
    Author
    Jaume Baixeries
    Language
    Catalan
    Official solutions
    R
    User solutions
    R