Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | treesmen.in, treesmen.out | Sursă | Infoarena Monthly 2014, Runda 5 |
Autor | Radu Visan, Razvan Salajan | Adăugată de | Salajan Razvan •vendetta |
Timp execuţie pe test | 0.25 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Treesmen
Antonio crede ca un ultim pas catre inima Antoniei este sa ii arate acesteia ca este un baiat cu intentii serioase si din punct de vedere profesional. Acesta o va impresiona cu urmatoarea problema:
Se da un arbore cu N noduri prin vectorul de tati cu radacina in nodul 1. Initial in fiecare nod se afla valorea 0. Se mai dau M operatii, care pot fi de 2 tipuri:
- 0 - x y first ratie: Nodurile de pe lantul x - y se modifica in felul urmator: nodul x creste cu valoarea first, urmatorul nod creste cu valoarea first + 1*ratie, urmatorul cu first + 2*ratie, ... si tot asa pana ajungem la nodul y. Lantul e de forma stramos - nod, adica x va fi tot timpul un stramos de-al nodului y.
- 1 - x : Se cere valoarea curenta din nodul x.
Date de intrare
Fişierul de intrare treesmen.in contine pe prima linie numarul de noduri al arborelui, N. Pe urmatoarea linie se afla N-1 valori semnificand tatal nodului i(i = 2, N). Pe urmatorea linie se afla numarul de operatii M. Pe urmatoarele M linii se afla operatiile, sub forma descrisa in enunt.
Date de ieşire
În fişierul de ieşire treesmen.out se vor afisa raspunsurile pentru operatiile de tipul 1 in ordinea primita in fisierul de intrare.
Restricţii
- ... ≤ ... ≤ ...
- Daca Antonio rezolva aceasta problema de 100 puncte, cei doi vor trai fericiti pana la adanci batraneti!
Exemplu
treesmen.in | treesmen.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...