mst

Time limit: 0.1s Memory limit: 16MB Input: mst.in Output: mst.out

Fie GG un graf neorientat conex. Fiecare muchie ee are la momentul tt un cost dat de o funcţie polinomială de gradul al doilea fe(t)=aet2+bet+cefe(t) = a_e \cdot t^2 + b_e \cdot t + c \cdot e.

Cerinţă

Găsiţi timpul tt la care costul arborelui de acoperire minim al lui GG este cât mai mic posibil, precum şi acest cost.

Date de intrare

Pe prima linie a fişierului de intrare mst.in se găsesc două numere naturale NN şi MM, separate printr-un spaţiu, reprezentând numărul nodurilor din graf, respectiv, numărul muchiilor. Pe linia i+1i + 1 se găsesc numerele ui vi ai bi ciu_i \ v_i \ a_i \ b_i \ c_i, separate prin câte un spaţiu, unde uiu_i şi viv_i sunt capetele muchiei, iar ai,bi,cia_i, b_i, c_i coeficienţii funcţiei polinomiale.

Date de ieșire

Pe prima linie a fişierului de ieşire mst.out se vor scrie două numere reale cu exact 66 zecimale, primul fiind timpul căutat iar al doilea costul arborelui de acoperire minim în acel moment.

Restricții și precizări

  • 2N1002 \leq N \leq 100
  • 1M1001 \leq M \leq 100
  • 0ui,vi<N0 \leq u_i, v_i < N, oricare 1iM1 \leq i \leq M.
  • Coeficienţii ai,bi,cia_i, b_i, c_i sunt numere întregi a căror valoare absolută nu depăşeşte 10^6, oricare 1iM1 \leq i \leq M.
  • Coeficientul ai>0a_i > 0, oricare 1iM1 \leq i \leq M.
  • Timpul tt poate fi orice valoare de pe axa reală.
  • Funcţiile asociate muchiilor sunt distincte două câte două.
  • Rezultatele vor fi considerate corecte dacă nu au o eroare mai mare de 10610^{-6} (a şasea zecimală poate să difere cu cel mult o unitate).

Exemplu

mst.in

3 3
0 1 1 -2 1
1 2 1 -2 5
0 2 1 -8 16

mst.out

1.000000 4.000000

Explicație

Funcţiile asociate muchiilor sunt:

  • f(0,1)(t)=t22t+1f(0,1)(t) = t^2 - 2t + 1,
  • f(1,2)(t)=t22t+5f(1,2)(t) = t^2 - 2t + 5,
  • f(2,0)(t)=t28t+16f(2,0)(t) = t^2 - 8t + 16.
    Minimele funcţiilor f(0,1)f(0,1), f(1,2)f(1,2) se ating la momentul t=1t = 1 iar suma lor este 44.

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