RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R03337

Guild Invitations

Silver II 실버 II
난이도
2s
시간 제한
1024MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

길드에서 새로운 단원을 모으려고 한다.

사람마다 길드에 초대하는 데 필요한 비용이 다르다. 또한 서로 알고 있는 사람들끼리는 소문이 빠르게 퍼지기 때문에, 같은 친분 그룹에 속한 사람 중 한 명만 초대하면 그 그룹의 모든 사람이 길드에 들어온다.

친분 관계가 주어졌을 때, 모든 사람을 길드에 들어오게 하기 위해 필요한 최소 비용을 구하시오.

단, 사용할 수 있는 예산이 부족하다면 fail을 출력한다.

입력

첫째 줄에 사람의 수 \(N\), 친분 관계의 수 \(M\), 예산 \(K\)가 공백으로 구분되어 주어진다.

둘째 줄에 \(N\)개의 정수 \(C_1, C_2, \ldots, C_N\)이 공백으로 구분되어 주어진다. \(C_i\)\(i\)번 사람을 초대하는 데 필요한 비용이다.

다음 \(M\)개의 줄에는 서로 알고 있는 두 사람 \(a\), \(b\)가 공백으로 구분되어 주어진다.

같은 친분 관계가 여러 번 주어질 수 있다.

출력

모든 사람을 길드에 들어오게 하기 위해 필요한 최소 비용이 \(K\) 이하라면 그 최소 비용을 출력한다.

필요한 최소 비용이 \(K\)보다 크다면 fail을 출력한다.

제한 사항
  • \(1 \le N \le 100,000\)

  • \(0 \le M \le 100,000\)

  • \(1 \le K \le 1,000,000,000,000\)

  • \(1 \le C_i \le 1,000,000\)

  • \(1 \le a, b \le N\)

  • \(a \ne b\)

예제 설명 1

\(1\), \(2\), \(3\)번 사람은 같은 친분 그룹이고, 이 그룹에서는 \(3\)번 사람을 초대하는 비용 \(2\)가 가장 작다.

\(4\), \(5\)번 사람은 같은 친분 그룹이고, 이 그룹에서는 \(5\)번 사람을 초대하는 비용 \(4\)가 가장 작다.

따라서 필요한 최소 비용은 \(2 + 4 = 6\)이다.

제약
입력 형식

First line \(N\), \(M\), \(K\); second line \(N\) costs \(C_i\); then \(M\) lines each with two acquaintances \(a\), \(b\) (\(1 \le N, M \le 10^5\), \(a \ne b\)).

출력 형식

Print the minimum total cost, or fail if it exceeds \(K\).

예제 1
입력
5 3 10
5 8 2 7 4
1 2
2 3
4 5
출력
6
예제 2
입력
6 3 8
6 7 5 4 9 10
1 2
2 3
4 5
출력
fail
문제 정보

riseoj 작성

출처 Online Judge > GoldOJ

평가 및 의견

Guild Invitations

개요
출제자 난이도 Silver II 실버 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Guild Invitations

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8