- Language:
- Time limit: 1.00 s
- Memory limit: 512 MB
Tehtäväsi on muodostaa permutaatio eli lista, joka sisältää jokaisen kokonaisluvun tasan kerran.
Permutaation tulee täyttää seuraavat ehdot:
- Pisin kohtaan päättyvä nouseva alijono sisältää alkiota.
- Pisin kohdasta alkava laskeva alijono sisältää alkiota.
Alijono on listan osalista, joka saadaan kulkemalla lista läpi vasemmalta oikealle ja valitsemalla osa alkioista. Esimerkiksi listan alijonoja ovat , ja .
Nousevassa alijonossa jokainen alkio on edellistä suurempi, ja laskevassa alijonossa jokainen alkio on edellistä pienempi.
Syöte
Ensimmäisellä rivillä on kokonaisluku .
Toisella rivillä on kokonaislukua: .
Kolmannella rivillä on kokonaislukua: .
Tuloste
Tulosta lukua: permutaatio . Jos ratkaisuja on useita, voit tulostaa minkä tahansa niistä. Jos ratkaisua ei ole olemassa, tulosta IMPOSSIBLE
.
Esimerkki 1
Syöte:
8 1 2 1 3 2 3 4 4 2 2 1 2 1 1 2 1
Tuloste:
2 5 1 7 3 4 8 6
Selitys: Esimerkiksi ja . Pisin kohtaan päättyvä nouseva alijono on , ja pisin kohdasta alkava laskeva alijono on , tai .
Esimerkki 2
Syöte:
2 1 1 1 2
Tuloste:
IMPOSSIBLE