해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
Vova는 다시는 컴퓨터 게임을 하지 않겠다고 자신에게 약속했다... 하지만 최근 유명한 게임 개발 회사 Firestorm이 최신 게임인 World of Farcraft을 출시했고, 이 게임은 큰 인기를 끌었다. 물론 Vova도 이 게임을 시작했다.
이제 그는 퀘스트를 해결하려 한다. 임무는 Overcity라는 정착지로 가서 그곳에 소문을 퍼뜨리는 것이다.
Vova는 Overcity에 n명의 캐릭터가 있다는 것을 안다. 일부 캐릭터들은 서로 친구이며, 자신이 얻은 정보를 공유한다. Also Vova은 각 캐릭터에게 뇌물을 주어 그 캐릭터가 소문을 퍼뜨리기 시작하게 할 수 있다는 것을 안다. i-th번째 캐릭터는 소문을 퍼뜨리는 대가로 ci 골드를 원한다. 한 캐릭터가 소문을 들으면 모든 친구에게 이를 전하고, 그 친구들은 다시 자신의 친구들에게 소문을 퍼뜨리기 시작하며(무료로), 이런 과정이 계속된다.
n명의 캐릭터가 모두 소문을 알게 되면 퀘스트가 완료된다. 퀘스트를 완료하기 위해 Vova가 써야 하는 골드의 최소량은 얼마인가?
문제를 완전히 이해하지 못했다고 생각한다면 참고를 살펴보라.
첫 번째 줄에는 정수 두 개 n과 m (1 ≤ n ≤ 105, 0 ≤ m ≤ 105)이 주어진다. 이는 각각 Overcity의 캐릭터 수와 친구 관계인 쌍의 수이다.
두 번째 줄에는 n개의 정수 ci (0 ≤ ci ≤ 109)이 주어진다. 이는 i-th번째 캐릭터가 소문을 퍼뜨리기 시작하는 대가로 요구하는 골드의 양이다.
이어서 m개의 줄이 주어지며, 각 줄에는 캐릭터 xi와 yi가 친구임을 나타내는 수의 쌍 (xi, yi)이 주어진다 (1 ≤ xi, yi ≤ n, xi ≠ yi). 각 쌍은 최대 한 번만 주어진다는 것이 보장된다.
퀘스트를 완료하기 위해 Vova가 써야 하는 골드의 최소량을 나타내는 수 하나를 출력한다.
10 5
1 6 2 7 3 8 4 9 5 10
1 2
3 4
5 6
7 8
9 10
15
5 2
2 5 3 4 8
1 4
4 5
10
10 0
1 2 3 4 5 6 7 8 9 10
55
첫 번째 예제에서 최선의 선택은 첫 번째 캐릭터에게 뇌물을 주는 것이다(그는 네 번째 캐릭터에게 소문을 퍼뜨리고, 네 번째 캐릭터는 다섯 번째 캐릭터에게 소문을 퍼뜨린다). Also Vova은 두 번째와 세 번째 캐릭터가 소문을 알도록 그들에게 뇌물을 주어야 한다.
두 번째 예제에서 Vova는 모두에게 뇌물을 주어야 한다.
세 번째 예제에서 최적의 선택은 첫 번째, 세 번째, 다섯 번째, 일곱 번째, 아홉 번째 캐릭터에게 뇌물을 주는 것이다.