- Language:
- Time limit: 1.00 s
- Memory limit: 512 MB
Tehtäväsi on muodostaa permutaatio p_1,p_2,\dots,p_n eli lista, joka sisältää jokaisen kokonaisluvun 1 \dots n tasan kerran.
Permutaation tulee täyttää seuraavat ehdot:
- Pisin kohtaan i päättyvä nouseva alijono sisältää a_i alkiota.
- Pisin kohdasta i alkava laskeva alijono sisältää b_i alkiota.
Alijono on listan osalista, joka saadaan kulkemalla lista läpi vasemmalta oikealle ja valitsemalla osa alkioista. Esimerkiksi listan [1,2,3,4] alijonoja ovat [2], [1,3] ja [1,2,3,4].
Nousevassa alijonossa jokainen alkio on edellistä suurempi, ja laskevassa alijonossa jokainen alkio on edellistä pienempi.
Syöte
Ensimmäisellä rivillä on kokonaisluku n.
Toisella rivillä on n kokonaislukua: a_1,a_2,\dots,a_n.
Kolmannella rivillä on n kokonaislukua: b_1,b_2,\dots,b_n.
Tuloste
Tulosta n lukua: permutaatio p_1,p_2,\dots,p_n. 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 a_4=3 ja b_4=2. Pisin kohtaan 4 päättyvä nouseva alijono on [2,5,7], ja pisin kohdasta 4 alkava laskeva alijono on [7,3], [7,4] tai [7,6].
Esimerkki 2
Syöte:
2 1 1 1 2
Tuloste:
IMPOSSIBLE
Osatehtävä 1 (12 pistettä)
- 1 \le n \le 8
- 1 \le a_i, b_i \le n
Osatehtävä 2 (33 pistettä)
- 1 \le n \le 500
- 1 \le a_i, b_i \le n
Osatehtävä 3 (55 pistettä)
- 1 \le n \le 2 \cdot 10^5
- 1 \le a_i, b_i \le n