CSES - Datatähti 2017 alku - Järjestys
  • Time limit: 2.00 s
  • Memory limit: 512 MB
Annettuna on taulukko, jossa on $n$ kokonaislukua. Jokainen luku väliltä $1 \ldots n$ esiintyy taulukossa tasan kerran.

Tehtäväsi on järjestää taulukon luvut pienimmästä suurimpaan kääntöjen avulla. Jokainen kääntö muuttaa taulukon $k$ ensimmäisen luvun järjestyksen käänteiseksi, missä $k$ on valitsemasi luku ($1 \le k \le n$).

Sinun tulee etsiä jokin sarja kääntöjä, jotka järjestävät taulukon. Vastaus hyväksytään, jos kääntöjen määrä on enintään $5n$.

Syöte

Syötteen ensimmäisellä rivillä on kokonaisluku $n$: taulukon koko.

Seuraavalla rivillä on $n$ lukua, jotka kuvaavat taulukon sisällön.

Tuloste

Tulosta ensin kokonaisluku $m$: kääntöjen määrä ($0 \le m \le 5n$).

Tulosta sitten $m$ lukua, joista jokainen kuvaa käännön $k$.

Esimerkki

Syöte:
8
6 7 2 5 1 4 3 8


Tuloste:
6
3 6 2 5 7 3


Esimerkissä taulukon järjestys muuttuu seuraavasti:
  • $[6,7,2,5,1,4,3,8]$
  • $[2,7,6,5,1,4,3,8]$
  • $[4,1,5,6,7,2,3,8]$
  • $[1,4,5,6,7,2,3,8]$
  • $[7,6,5,4,1,2,3,8]$
  • $[3,2,1,4,5,6,7,8]$
  • $[1,2,3,4,5,6,7,8]$
Osatehtävä 1 (19 pistettä)
  • $1 \le n \le 10$
Osatehtävä 2 (37 pistettä)
  • $1 \le n \le 1000$
Osatehtävä 3 (44 pistettä)
  • $1 \le n \le 10^5$