Énoncé¶
Jörmungandr, le serpent se mordant la queue, n'est pas très adroit. Etant géant et passant dans plusieurs villes, il peut casser des bâtiments en faisant un faux mouvement. Verdandi est une norne mais ne peut voir que dans le présent, elle aimerait alors connaître à l'avance l'état des bâtiments.
Le royaume de Midgard est composé de $N$ villes. Jörmungandr se déplace de ville en ville. Comme il se mord la queue, le chemin des villes qu'il emprunte forme une boucle.
Quand Jörmungandr se déplace dans une ville, le nombre de bâtiments cassés dans cette ville devient alors le plus grand nombre de bâtiments cassés entre cette ville et les $K - 1$ suivantes.
Le premier mouvement impacte la première ville ($i = 1$), puis le second mouvement impacte la seconde ville ($i = 2$) et ainsi de suite.
Afin d'aider Verdandi, votre objectif est le suivant : à partir du nombre initial de bâtiments cassés dans chaque ville, déterminer le nombre de bâtiments cassés dans chaque ville après $R$ mouvements du serpent.
Entrée¶
L’entrée contiendra :
- Sur la première ligne, un entier : N, le nombre de villes.
- Sur la ligne suivante, un entier : R, le nombre de mouvements du serpent.
- Sur la ligne suivante, un entier : K, le nombre de villes impliquées dans chaque mouvement.
- Sur la ligne suivante, une liste de N entiers séparés par des espaces : villes, le nombre de bâtiments cassés dans chaque ville.
Sortie¶
Afficher le nombre de bâtiments cassés à chaque ville après les $R$ mouvements sous la forme d'une suite d'entiers séparés par des espaces.
Contraintes¶
- $1 \le N \le 1\,000$
- $1 \le R \le 1\,000$
- $1 \le K \le 1\,000$
- $1 \le villes_i \le 1\,000$
Contraintes de performance¶
- $1 \le N \le 100\,000$
- $1 \le R \le 10\,000\,000$
- $1 \le K \le 100\,000$
- $1 \le villes_i \le 100\,000$