Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2014-01-09 22:08:34.
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 test1 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 cine in ce bar pleaca.

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:
* 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 in barul B sunt in gasca lui deci nu se iau in considerare.
* 1 X B1 B2 - x prieteni se muta din barul B1 in barul B2.

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
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?