Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | baruri.in, baruri.out | Sursă | ONIS 2014, Runda 2 |
Autor | Laurentiu Ion | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/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 N, M (numarul de operatii).
Pe urmatoarea linie se afla N numere, al i-lea numar semnificand numarul de prieteni din barul i.
Pe urmatoarele M linii se afla operatii:
* 0 P D - Afiseaza cati prieteni sunt in barurile de la o distanta de maxim D baruri fata de barul P in care este Antonio. Cei care sunt in barul P sunt in gasca lui deci nu se numara.
* 1 x a b - x prieteni se muta din barul a in barul b.
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 ≤ N ≤ 100 000
- 1 ≤ M ≤ 150 000
- 1 ≤ P ≤ N
- D ≥ 1
- Numerele se vor incadra pe 32 de biti.
Exemplu
baruri.in | baruri.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...