아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

무기 시장

시간 제한1초메모리 제한1024 MB

요약
1번 주에서 N번 주까지 총 길이가 K 이하인 경로를 따라 운반할 수 있는 총기 수의 최댓값을 구한다. 경로 위 각 주는 운반 상한을 두며 1번과 N번 주에는 상한이 없다.
난이도

보통10점 중 7점

유형
그래프, 최단 경로, 이분 탐색, 그리디
정답자
아직 제출이 없습니다

문제

미국은 1…N1 \ldots N번으로 번호가 매겨진 NN개의 주(state)로 이루어져 있다. 유스(Juss)의 집은 NN번 주에 있다. 그곳에서는 한 남자가 총기를 얼마나 많이 가지고 있는지로 그 사람의 담대함을 평가하는 관습이 있다. 유스는 담대한 사람이 되고 싶어서 올해 11번 주에서 열리는 첨단 총기 시장을 방문하기로 결심했다.

유스에게 다행히도 11번 주에서는 마침 "애국적 자기방어법"이 통과되어, 개인이 총기 시장에서 구입한 모든 총기의 값을 주 정부가 부담해 준다. 따라서 유스는 원하는 만큼 많은 총기를 구할 수 있다.

그러나 여러 세계적 위기 때문에 휘발유가 매우 비싸서, 유스는 돌아오는 길에 쓸 휘발유를 KK 단위밖에 구할 수 없다. 주들은 MM개의 양방향 고속도로로 연결되어 있으며, 휘발유 11 단위로 11 km의 거리를 이동할 수 있다. 두 주가 두 개 이상의 고속도로로 연결되어 있을 수도 있다.

또한 모든 주가 자기 주의 거리에서 수백만 정의 총기를 보고 싶어 하는 것은 아니다. 그래서 주마다 한 사람이 지니고 다닐 수 있는 총기 수에 대한 제한이 다르다. ii번 주에서 개인은 최대 CiC_i정의 총기를 지니고 다닐 수 있다.

제한된 휘발유의 양과 지나가는 주들의 총기 운반 제한을 모두 고려할 때, 유스가 집으로 가져갈 수 있는 총기의 최대 개수를 구하라.

입력

첫째 줄에 세 정수 NN, MM, KK (2≤N≤1052 \le N \le 10^5, 1≤M≤1051 \le M \le 10^5, 1≤K≤1091 \le K \le 10^9)가 주어진다. 각각 주의 개수, 고속도로의 개수, 그리고 돌아오는 길을 위해 살 수 있는 휘발유의 양을 나타낸다.

둘째 줄에는 공백으로 구분된 NN개의 정수 cic_i (−1≤ci≤109-1 \le c_i \le 10^9)가 주어진다. cic_i는 ii번 주에서 지니고 다닐 수 있는 총기 수의 제한을 나타내며, ci=−1c_i = -1이면 제한이 없다는 뜻이다. 11번 주와 NN번 주에는 제한이 없다고 가정해도 된다.

이어지는 MM개의 줄에는 각각 세 정수 AiA_i, BiB_i, LiL_i (1≤Li≤1091 \le L_i \le 10^9)가 주어진다. 이는 AiA_i번 주와 BiB_i번 주가 길이 LiL_i km인 고속도로로 연결되어 있음을 뜻한다. KK 단위의 휘발유로 유스가 집까지 갈 수 있음이 보장된다.

출력

유스가 집으로 가져갈 수 있는 총기의 최대 개수를 정수 하나로 한 줄에 출력한다. 만약 유스가 제한 없이 총기를 가져갈 수 있다면 −1-1을 출력한다.

예제2

  1. 예제 1

    입력
    6 7 54
    -1 15 99 20 25 -1
    1 2 10
    2 6 15
    1 3 50
    3 6 20
    1 4 14
    4 5 18
    5 6 22
    
    예상 출력
    20
    
  2. 예제 2

    입력
    2 1 100
    -1 -1
    1 2 50
    
    예상 출력
    -1