#172
Platinum V
Island Cities
스페셜 저지
시간 제한
3s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

서현 국가는 NN개의 섬 도시와 MM개의 양방향 다리로 이루어져 있으며, 모든 섬 도시는 다리를 통해 직간접적으로 연결되어 있다. 각 섬은 11부터 NN까지 번호가 매겨져 있고, 각 다리는 11부터 MM까지 번호가 매겨져 있다. i(1iM)i(1\le i \le M)번 다리는 섬 도시 uiu_iviv_i를 연결하며, 초기에는 최대 wiw_i의 하중을 견딜 수 있다.

다리 강화 작업에 사용할 수 있는 예산 BB가 주어진다. 각 다리는 한 번의 강화 작업을 통해 하중을 xix_i만큼 증가시킬 수 있고, yiy_i만큼의 비용이 든다. 다리 강화 작업은 예산을 초과하지 않는 선에서 얼마든지 반복할 수 있고, 다리를 강화하지 않을 수도 있다.

강화 작업이 완료된 이후, 임의의 서로 다른 두 섬 uu, vv 사이에서 물건을 배송한다고 생각해 보자. 두 섬을 연결하는 경로상의 다리 중 가장 하중이 낮은 다리의 하중이 배송 상한선이 된다. 가능한 경로가 여러 개라면 배송 상한선이 더 큰 경로를 선택한다. 그때의 배송 상한선을 f(u,v)f(u, v)라고 하자.

모든 서로 다른 두 섬 쌍 (u,v)(u, v)에 대해서 f(u,v)f(u, v)의 최솟값을 XX라 하자. 시민들의 불만을 줄이고자 XX를 가능한 한 크게 하고 싶다. 그러기 위해서는 각 다리에 몇 번의 강화 작업을 수행해야 할까?

입력

첫째 줄에 NN, MM, BB가 공백으로 구분되어 주어진다. (2N50000;  N1M100000;  1B1000000)(2 ≤ N ≤ 50\,000;\; N - 1 ≤ M ≤ 100\,000;\; 1 ≤ B ≤ 1\,000\,000)

둘째 줄부터 MM개의 줄에 걸쳐, ii번 다리의 정보 uiu_i, viv_i, wiw_i, xix_i, yiy_i가 공백으로 구분되어 주어진다. (1ui,viN,  uivi;  1wi,xi100000;1yi10)(1 \le u_i, v_i \le N,\; u_i \neq v_i;\; 1 ≤ w_i, x_i ≤ 100\,000; 1\le y_i \le 10)

입력으로 주어지는 수는 모두 정수이다.

출력

첫째 줄에 XX의 최댓값을 출력한다.

둘째 줄부터 MM개의 줄에 걸쳐, i+1i+1번째 줄에 ii번 다리를 몇 번 강화해야 하는지 출력한다. 정답이 여러 개라면 그중 하나만 출력한다.

예제 입력 1

3 3 1
1 2 5 1 1
2 3 1 4 1
1 3 3 1 1

예제 출력 1

5
0
1
0

강화 이전의 f(1,2)=5f(1,2) =5, f(2,3)=3f(2,3) =3, f(1,3)=3f(1,3) =3이므로 XX33이다.

22번째 다리를 11회 강화하면 XX55가 된다. 예산 내에서 XX를 이보다 크게 만드는 경우는 존재하지 않는다.

예제 입력 2

3 3 1
1 2 5 1 1
2 3 1 4 2
1 3 3 1 1

예제 출력 2

4
0
0
1

예제 입력 2

3 3 30
1 2 10 1 1
1 2 1 100 2
3 2 1 100 2

예제 출력 2

701
1
7
7

두 섬을 연결하는 다리가 여러 개 있을 수도 있다.

문제를 만든 사람
조서현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Platinum V1명 투표· 약 2개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.