trains

Compania feroviara isi propune sa modernizeze sistemul actual de organizare a trenurilor. O parte importanta este cea de gestiune a componentei trenurilor si clasificarea in functie de calitate a vagoanelor.
CF a asociat fiecarui vagon un numar calitativ si inregistreaza de-a lungul timpului toate operatiile care se fac pentru formarea trenurilor, vrand ca avand aceste informatii sa poata realiza o repartitie inteligenta a claselor de pasageri intr-un segment de tren in functie de nivelul minim de calitate pe acel segment.

Problema:

Se porneste initial de la un vector de N numere naturale reprezentand nivelul de calitate ale tuturor vagoanelor in ordine, ele fiind plasate initial in lant in depoul companiei. Acest vector are numarul de identificare 0.
Trebuiesc simulate o serie de M operatii, codificate astfel in fisierul de intrare:

Date de intrare

Pe prima linie a fisierului de intrare trains.in se vor gasi 2 numere naturale N si M reprezentand numarul de vagoane si respectiv numarul de operatii. Pe a doua linie a fisierului vor exista N numere intregi cuprinse intre 0 si 32000 reprezentand elementele vectorului initial. Pe urmatoarele M linii vor fi descrise operatiile ce trebuiesc simulate, cate una pe fiecare linie asa cum au fost descrise anterior.

Date de iesire

Fisierul de iesire trains.out trebuie sa contina M linii cu cate un numar reprezentand in ordine raspunsul la fiecare operatie de tip Q din fisierul de intrare.

Restrictii si precizari

2 <= N <= 16000
1 <= M <= 32000
0 <= ID, IDST, IDDR <= 32000
Pozitiile vectorilor sunt numerotate incepand cu valoarea 1.
La operatia S nu va exista deja un vector identificat IDDR iar vectorul cu identificatorul ID va avea minim pos+1 elemente.
La operatia Q vom avea 1 <= PST <= PDR <= nr de elemente ale vectorului ID.

Exemplu

trains.in
trains.out
10 14
1 2 3 4 5 6 7 8 9 10
S 0 5 1
Q 1 1 3
J 1 0
Q 1 1 1
Q 1 2 2
Q 1 3 3
Q 1 4 4
Q 1 5 5
Q 1 6 6
Q 1 7 7
Q 1 8 8
Q 1 9 9
Q 1 10 10
Q 1 4 6
6
6
7
8
9
10
1
2
3
4
5
1

Timp maxim de executie/test: 0.2 secunde

Emilian Miron
Facultatea de Matematica-Informatica Bucuresti
emimiron@yahoo.com