[BOJ 7255] Sujungimas

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 1G

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

Bitlandijoje pertvarkoma traukinių infrastruktūra. Šis darbas paskirtas Bitlandijos Traukinių Kompanijos vadovui Martynui.</p>

Pirmiausia Martynas įvertino į kiekvieną miestą i atvykstančių keleivių srautą Si. Martynas tarp miestų projektuoja geležinkelio linijas, tokias kad:

  • Iš kiekvieno Bitlandijos miesto geležinkeliu būtų galima nukeliauti į bet kurį kitą Bitlandijos miestą (nebūtinai tiesiogiai).
  • Nutiesti vieną traukinių liniją tarp miestų i ir j kainuoja Si × Sj biteurų – didesnis srautas reikalauja daugiau investicijų (didesnė stotis, didesnis parkingas ir t.t.).

Dalis geležinkelių Bitlandijoje jau nutiesti, bet sumažėjus biudžetui Martynas nori nutiesti trūkstamas linijas už kuo mažesnę kainą.

Nustatykite, už kokią mažiausią kainą galima nutiesti likusias geležinkelio linijas, taip kad būtų tenkinami Martyno iškelti reikalavimai.

입력 형식

Pirmoje eilutėje pateikiami tarpu atskirti skaičiai N ir M – Bitlandijos miestų bei jau nutiestų geležinkelio linijų skaičius.</p>

Antroje eilutėje pateikiami N tarpais atskirti skaičiai Si.

Tolimesnėse M eilučių pateikiama po du skaičius vi ir ui, reiškiančius, kad tarp miestų vi ir ui jau nutiesta tiesioginė geležinkelio linija.

출력 형식

Išveskite kiek mažiausiai biteurų kainuos likusių geležinkelio linijų nutiesimas.

예제 입력 1

4 2
2 2 3 5
3 4
1 2

예제 출력 1

6

예제 입력 2

3 3
100 100 100
1 2
2 3
3 1

예제 출력 2

0

힌트

  • 1 ≤ N ≤ 100 000
  • 0 ≤ M ≤ 100 000
  • 1 ≤ Si ≤ 100
  • 1 ≤ vi, ui ≤ N
  • Visos poros (vi, ui) skirtingos ir vi ≠ ui.

Comments

There are no comments at the moment.