Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2014-01-10 14:28:13.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:baruri.in, baruri.outSursăONIS 2014, Runda 2
AutorLaurentiu IonAdăugată defmins123FMI No Stress fmins123
Timp execuţie pe test0.5 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Baruri

Pe strada Lipscani sunt N baruri. Cum Antonio se duce pe Lipscani in fiecare seara, vrea sa stie cati prieteni are in barurile din jur, sa se intalneasca cu ei.
Astfel Antonio a facut o aplicatie care raspunde la intrebari de tipul: "Cati prieteni sunt la o distanta de maxim D baruri de locatia lui?".
Cum nici el nici prietenii lui nu pot sta pe loc, aplicatia trebuie sa stie unde se muta prietenii.
* 0 B D - Afiseaza cati prieteni sunt in barurile de la o distanta de maxim D baruri fata de barul B in care este Antonio. Cei care sunt deja in barul B sunt in gasca lui deci nu se iau in considerare.
* 1 X B - X prieteni noi intra in barul B.
* 2 X B - X prieteni din barul B pleaca de pe Lipscani.
* 3 X B1 B2 - X prieteni se muta din barul B1 in barul B2.

Date de intrare

Pe prima linie din fisierul de intrare baruri.in se afla T, numarul de teste. In continuare, pentru fiecare test, se vor gasi:

Pe prima linie numarul N.
Pe a doua linie se afla N numere, al i-lea numar semnificand numarul de prieteni din barul i.
Pe a treia linie se afla M, numarul de operatii.
Pe urmatoarele M linii se afla operatii:

Date de ieşire

În fişierul de ieşire baruri.out se vor afisa raspunsurile la intrebarile lui Antonio, in ordinea in care apar.

Restricţii

  • 1 ≤ T ≤ 10
  • 1 ≤ N ≤ 100 000
  • 1 ≤ M ≤ 150 000
  • 1 ≤ A, B ≤ N
  • D ≥ 1
  • Numerele se vor incadra pe 32 de biti.

Exemplu

baruri.inbaruri.out
1
5
2 1 2 0 0
3
0 2 1
1 2 1 5
0 2 1
4
2

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?