Message Corse – Épreuve régionale 2022

Niveau 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$

Contraintes d'exécution

Utilisation mémoire maximum
50 kilo-octets
Temps d'exécution maximum
100 millisecondes

Exemples d'entrée/sortie

Exemple d'entrée
10
10 2 7 8 9 1 7 2 4 5
Exemple de sortie
3
Commentaire

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

Exemple d'entrée
15
9 2 8 2 9 10 7 9 7 9 3 5 6 1 3
Exemple de sortie
6
Commentaire

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.