- Language:
- Time limit: 1.00 s
- Memory limit: 512 MB
Annettuna on lista luvuista jossain järjestyksessä. Voit tehdä operaatioita, joissa valitset listasta peräkkäistä lukua ja käännät ne ympäri.
Onko lista mahdollista järjestää kasvavaan järjestykseen? Jos on, niin millä operaatioilla se onnistuu?
Syöte
Ensimmäisellä rivillä on kaksi kokonaislukua ja : listan pituus ja käännön pituus.
Toisella rivillä on kokonaislukua : listan sisältö alussa. Jokainen luku esiintyy listassa täsmälleen kerran.
Tuloste
Tulosta ensin rivi "YES", jos luvut voidaan järjestää, tai "NO" muuten.
Jos luvut voidaan järjestää, tulosta seuraavalle riville kokonaisluku : operaatioiden määrä.
Tulosta tämän jälkeen kolmannelle riville kokonaislukua, jotka kuvaavat operaatiot. Luku tarkoittaa operaatiota, jossa listan sisältö kohdasta kohtaan käännetään ympäri. Kohtien on oltava listan sisällä.
Jos ratkaisuja on useita, voit tulostaa niistä minkä tahansa. Ratkaisussasi ei kuitenkaan saa olla yli operaatiota.
Esimerkki
Syöte:
5 3 3 4 1 2 5
Tuloste:
YES 2 2 1