regat

Time limit: 0.4s Memory limit: 64MB Input: regat.in Output: regat.out

Regele Gefghev se confruntă cu o nouă problemă de interes naţional. Regatul condus de el conţine NN oraşe, numerotate de la 11 la NN, legate între ele prin N1N–1 poteci bidirecţionale. Fiecare potecă are o anumită lungime exprimată în metri. Între oricare două oraşe există cel mult o singură potecă şi se poate ajunge din orice oraş în oricare alt oraş, mergând numai pe potecile existente. Regelui îi place să călătorească, de aceea el îşi ia concediu MM zile şi plănuieşte să organizeze MM călătorii. La începutul fiecărei zile Gefghev alege un oraş de pornire xx şi vrea să parcurgă începând cu acel oraş un drum de lungime maximă. Drumul parcurs de rege este de fapt o succesiune de oraşe distincte (a1,a2,a3,ak1,ak)(a_1, a_2, a_3, \dots a_{k-1}, a_k) astfel încât există o potecă între oricare două oraşe aia_i şi ai+1(i<k)a_{i+1} (i < k) iar a1=xa_1 = x. Lungimea drumului este dată de suma lungimilor potecilor care-l compun. Fiindcă nu vrea să se plictisească, regele Gefghev vrea să parcurgă în fiecare zi un drum diferit. Două drumuri d1=(a1,a2,a3,ak1,ak)d_1 = (a_1, a_2, a_3, \dots a_{k-1}, a_k) şi d2=(b1,b2,b3,bp1,bp)d_2 = (b_1, b_2, b_3, \dots b_{p-1}, b_p) sunt diferite dacă:

  • kpk \neq p sau
  • k=pk = p şi există măcar o poziţie qq astfel încât aqbqa_q \neq b_q.

Cerinţă

Scrieţi un program care determină pentru regele Gefghev lungimea drumului parcurs în fiecare din cele MM călătorii.

Date de intrare

Pe prima linie a fişierului de intrare regat.in se află două numere întregi NN şi MM separate printr-un singur spaţiu, cu semnificaţia din enunţ. Pe următoarele N1N-1 linii se află câte trei numere aa, bb şi cc separate prin câte un singur spaţiu, având semnificaţia că există un drum de la oraşul aa la oraşul bb, iar acest drum are lungimea de cc metri. Pe următoarele MM linii se află câte un număr cuprins între 11 şi NN, pe linia N+1+iN+1+i aflându-se oraşul din care regele îşi începe a ii-a călătorie.

Date de ieșire

În fişierul de ieşire regat.out se vor afla MM numere naturale, pe linia ii se va afla lungimea drumului parcurs de rege in călătoria din ziua ii.

Restricții și precizări

  • 1N,M100 0001 \leq N, M \leq 100 \ 000
  • Lungimile drumurilor sunt numere naturale cuprinse în intervalul [1,10 000][1, 10 \ 000]
  • Regele poate începe mai multe călătorii din acelaşi oraş
  • Regele va avea întotdeauna posibilitatea de a efectua toate călătoriile
  • Pentru 20%20\% din teste N700N \leq 700
  • Pentru 40%40\% din teste fiecare călătorie începe dintr-un oraş diferit

Exemplu

regat.in

8 5
1 2 3
2 3 5
3 4 14
2 6 3
2 7 9
7 8 10
5 6 20
1
2
1
4
3

regat.out

26
23
22
42
28

Explicație

Prima călătorie începe în oraşul 11 şi se finalizează în orasul 55. Lungimea drumului este 2626. Nu există alt oraş la o distanţă strict mai mare decât 2626. A doua oară cand regele începe o calatorie din orasul 11, o poate încheia în oricare din oraşele 44 sau 88, lungimea drumului fiind 2222.

Log in or sign up to be able to send submissions!