Message Corse – Regional event 2022

Level 1

Énoncé

Afin de parvenir à l'épreuve finale, Joseph Marchand fait face à une multitude de défis. Il se retrouve bloqué par une porte et un cadenas. Sur la porte se trouve inscrite une longue séquence de nombres, tous compris entre 1 et 10 inclus, un message cachant le code permettant d'avancer à la prochaine étape.

Heureusement, votre oncle Corse connait cette énigme et vous communique la façon de le déchiffrer : il faut compter le nombre d'occurences d'un certain motif dans la séquence. Lors de la réception d'un nombre, le motif est dit valide si au moins l'une de ces règles est confirmée :

  • Le nombre est égal à 10 ;
  • Le nombre est égal au nombre précedent OU au nombre précédent celui-ci ;
  • La somme du nombre et de son précédent donne 10 ;
  • La somme du nombre et de l'avant dernier nombre avant celui-ci donne 10;

Vous devez écrire un programme permettant de compter les occurences afin d'ouvrir le cadenas.

Entrée

L’entrée contiendra :

  • Sur la première ligne, un entier : P, le nombre d'éléments communiqués.
  • Sur la ligne suivante, une liste de P entiers séparés par des espaces : nombres, la liste des nombres.

Sortie

Le numéro décodé.

Contraintes

  • $2 \le P \le 300$
  • $1 \le chiffres[ ] \le 10$

Runtime constraints

Maximum memory usage
50 kilobytes
Maximum execution time
100 milliseconds

Input/output samples

Sample input
10
10 2 7 8 9 1 7 2 4 5
Sample output
3
Note

Dans notre liste de nombres, on retrouve le motif 3 fois :

Sample input
15
9 2 8 2 9 10 7 9 7 9 3 5 6 1 3
Sample output
6
Note

Cette fois-ci, on compte le motif 6 fois :

On remarque que, à la 4e case, le motif est vérifié de deux manières différentes, mais pour autant n'est compté qu'une seule fois.

Submit your solution

You have to register or log in to be able to submit your solution.