Enunț
Cu ocazia sărbătoririi marii victorii de la ONI2017, cei 10 Bistrițeni au pornit la drum cu scopul de a-și întemeia o țară. După multe dezbateri, aceștia s-au hotărât să o numească Zoomba. Și au mers ei ce au mers, până au ajuns într-un ținut pustiu, iar atunci, marele Zoli a spus: “Și aici să fie întemeiată Zoomba!” (La început, Zoomba nu are niciun oraș). Iulia are sarcina de a construi orașele, iar Maria va construi drumurile ce vor conecta orașele. Astfel, se disting următoarele evenimente:
1
: Iulia construiește un nou oraș. Dacă ultimul oraș construit este orașulx
, atunci noul oraș va fix + 1
(Dacă nu există niciun oraș în acel moment, atunci noul oraș construit va fi1
).2 x y c
: Maria propune construcția unui drum bidirecțional ce leagă orașulx
de orașuly
de costc
.3 x
: Zoli se întreabă care este costul minim pentru a lega un număr maxim de orașe (folosind drumurile propuse de Maria) cu scopul construirii unui județ (un județ este o grupare de orașe în care se poate ajunge din orice oraș în orice alt oraș) ce conține orașulx
.
Cerința
Scrieți un program care procesează M
evenimente de tipurile precizate mai sus, și afișează în fișierul de ieșire rezultatele evenimentelor de tipul 3
.
Date de intrare
Fișierul de intrare episodul1.in
conține pe prima linie numărul M
, iar pe fiecare linie din cele M
, se va afla câte un eveniment, cu formatul specificat mai sus.
Date de ieșire
Fișierul de ieșire episodul1.out
va conține pe fiecare linie câte un număr, reprezentând răspunsurile operațiilor de tip 3
, în ordiea în care acestea apar în fișierul de intrare.
Restricții și precizări
1 ≤ M ≤ 1.000.000
- Pentru orice operație de tip
2
,C
este maxim până în punctul respectiv. - Costul unui drum nu depășește
100.000.000
- InParser
- OutParser
Exemplu:
episodul1.in
14 1 1 3 1 3 2 2 1 2 1 3 2 1 2 1 3 1 3 1 1 1 2 3 4 3 3 4 3 5
episodul1.out
0 0 1 2 5 0