
Într-un colț liniștit din orașul Suceava, la marginea unui resort nou deschis pentru pasionații de informatică, un grup de elevi se adunase pentru o tabără de pregătire. Printre exercițiile zilnice, coordonatorul le-a dat o problemă ciudată, inspirată din viața resortului.
La recepție se afla un panou cu un șir de numere distincte, deja sortate crescător. Se știa că aceste valori proveneau dintr-un șir inițial amestecat, dar cineva pierduse ordinea originală. Tot ce mai rămăsese era o listă , care spunea pentru fiecare număr câte valori mai mici decât el se aflaseră în dreapta lui în șirul inițial.
Elevii s-au așezat în jurul mesei și au început să caute o metodă de a reconstrui șirul pierdut. Știau că trebuie să refacă pas cu pas ordinea originală, folosind atât șirul sortat, cât și valorile din . Cu fiecare poziție corect găsită, imaginea șirului inițial începea să prindă contur, ca o poveste care se reface din fragmente.
Spre seară, când ceața cobora peste clădirile vechi din Suceava, problema fusese rezolvată. Pe tablă, șirul inițial strălucea din nou în forma lui corectă, iar resortul rămase în liniște un loc unde logica și răbdarea își găsiseră, încă o dată, echilibrul perfect.
Cerință
Fie un număr natural nenul și un șir , cu elemente numere naturale sortate crescător și distincte. Șirul inițial (înainte de sortare) a fost o permutare a acestor valori. Pentru fiecare element se știe , care reprezintă numărul de valori mai mici decât din care în șirul inițial se aflau în dreapta lui .
Determinați șirul inițial.
Date de intrare
Fișierul de intrare resort.in conține:
- pe prima linie un număr natural nenul , cu semnificația din enunț;
- pe a doua linie numere naturale, ce reprezintă șirul ;
- pe a treia linie numere naturale, ce reprezintă șirul .
Date de ieșire
În fișierul de ieșire resort.out se va afișa șirul inițial.
Restricții și precizări
- ;
- ;
- .
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 40 | |
| 2 | 60 | Fără restricții suplimentare |
Exemplul 1
resort.in
4
1 2 3 4
0 0 2 1
resort.out
3 1 4 2
Exemplul 2
resort.in
5
10 20 30 40 50
0 1 0 3 0
resort.out
40 20 10 30 50