CSES - Datatähti 2025 loppu - Permutaatio
  • 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