cactus

Time limit: 0.3s Memory limit: 256MB Input: cactus.in Output: cactus.out

Matei Nakayama Mihai a primit un cactus.

Un cactus este un graf conex neorientat în care fiecare nod face parte din cel mult un ciclu. Se consideră un cactus cu NN noduri și MM muchii cu diverse lungimi. Acesta nu conține bucle (adică muchii între un nod și el insuși) sau muchii paralele (adică două sau mai multe muchii între o singură pereche de noduri).

Mihai vrea să elimine muchii din graful cactus, astfel încât să obțină un arbore cât mai ușor. Distanța dintre două noduri din arbore este egală cu suma lungimilor muchiilor de pe cel mai scurt drum dintre cele două noduri. Greutatea unui arbore este definită ca suma distanțelor dintre oricare două perechi neordonate de noduri distincte – perechea (1,2)(1,2) este echivalentă cu perechea (2,1)(2,1).

Ajutați-l pe Mihai să găsească greutatea minimă a unui arbore obținut prin eliminarea unor muchii din cactus.

Date de intrare

Pe prima linie a fişierului de intrare se află două număre NN, reprezentând numărul de noduri din graf, și MM, reprezentând numărul de muchii din graf.
Pe fiecare dintre următoarele MM linii se află trei numere xx, yy și zz, reprezentând o muchie cu lungimea zz între nodurile xx și yy.

Date de ieșire

În fişierul de ieşire se va afişa un singur număr, reprezentând greutatea minimă a unui arbore ce se poate obține din cactusul ințial prin eliminarea unor muchii.

Restricții și precizări

  • 1N100 0001 \leq N \leq 100\ 000
  • N1M200 000N-1 \leq M \leq 200\ 000
  • 0z1 000 000 0000 \leq z \leq 1\ 000\ 000\ 000
  • Se garantează că răspunsul este cel mult 101810^{18}.
# Punctaj Restricții
1 4 Graful este un lanț (nu conține niciun ciclu și fiecare nod are grad cel mult 2).
2 6 Graful este un arbore (nu conține niciun ciclu).
3 12 1N151\leq N\leq 15
4 25 1N1 0001\leq N\leq 1\ 000
5 38 Graful este un ciclu (fiecare nod are grad 2).
6 15 Fără restricții suplimentare

Exemple

cactus.in

6 6
1 2 8
1 3 2
3 2 1
1 4 3
4 5 2
2 6 4

cactus.out

80

Se elimină muchia (1,2)(1, 2).

cactus.in

12 14
1 2 7
2 3 3
1 3 7
3 4 2
4 5 5
5 6 10
6 4 3
4 7 4
7 8 2
8 9 5
9 10 8
10 11 1
11 7 9
10 12 3

cactus.out

787

Se elimină muchiile (1,2)(1, 2), (5,6)(5, 6), (9,10)(9, 10).

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