Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2016-07-13 07:48:25.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:tequila.in, tequila.outSursăJunior Challenge 2016
AutorAlexandru Niculae, Costin OncescuAdăugată deJuniorChallenge2015JuniorChallenge2016 JuniorChallenge2015
Timp execuţie pe test0.35 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Tequila

Intors acasa de la ONI, Antonio se plimba prin Gradina Publica din Barlad impreuna cu cel mai bun prieten al sau, Zetul.
Antonio ii spune lui Zetul urmatoarea problema, care se va da la JBOI 2016 (informatie sigura, aflata de Antonio):

Se da un arbore cu N noduri, fiecare nod X avand o valoare asociata, val[X].

Exista 2 operatii:
-operatia de update: Noua valoarea a nodului X va fi Y;
-operatia de query: Cat timp radacina nu este stearsa, Zetul alege la intamplare un nod X si va fi nevoit sa bea val[X] shot-uri de tequila, iar mai apoi va sterge subarborele nodului X (inclusiv nodul X). Antonio este curios cate shot-uri de tequila va bea Zetul in medie.

Cerinta

Pentru arborele initial, cat si dupa fiecare operatie de update, Antonio va cere sa aflati valoarea operatiei de query.

Date de intrare

Fisierul de intrare tequila.in va contine pe prima linie doua numere naturale N si M, reprezantand numarul de noduri ale arborelui si numarul de update-uri.
Urmatoarele N linii vor descrie arborele, pentru fiecare nod X ($1 ≤ X ≤ N$) tatal acestuia.
Urmatoarele M linii vor descrie operatiile de update, si vor fi de forma: X Y (val[X] = Y);

Date de ieşire

În fişierul de ieşire tequila.out va contine M + 1 linii, raspunsul pentru fiecare query.

Restricţii

  • Subtask 1 (20 puncte): 1 ≤ N ≤ 20 si nu exista update-uri
  • Subtask 2 (10 puncte): 1 ≤ N ≤ 100000, arborele este lant si nu exista update-uri
  • Subtask 3 (10 puncte): 1 ≤ N ≤ 100000 si arborele este lant
  • Subtask 4 (60 puncte): 1 ≤ N ≤ 100000

1 ≤ val[X] ≤ 100000 ($1 ≤ X ≤ N$)

Exemplu

tequila.intequila.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?