QOJ.ac

QOJ

Limite de temps : 4.0 s Limite de mémoire : 512 MB Points totaux : 100

#17603. SKLONIŠTE

Statistiques

어둑한 방, 23시 55분경, 밀란은 세 다리 탁자에 앉아 자신의 도시에 핵 재난이 발생할 경우 일어날 수 있는 결과에 대해 생각하기 시작했습니다. 시장직을 맡고 있는 밀란은 모든 관련 사실을 매우 잘 알고 있습니다.

그는 자신의 도시에 정확히 $N$명의 사람이 살고 있으며, 각 주민은 자신의 집에 살고 있다는 것을 알고 있습니다. 정확히 $M$쌍의 집 사이에는 도로가 있으며, 각 도로를 통과하는 데 필요한 시간은 알려져 있습니다. 마지막으로, 밀란은 어느 $K$개의 집에 방공호가 있는지, 그리고 각 방공호에 몇 명의 사람을 수용할 수 있는지 알고 있습니다. 이 모든 것을 고려할 때, 밀란은 다음과 같은 질문으로 고민하고 있습니다. "모든 주민을 대피시키는 데 필요한 최소 시간은 얼마인가?" 밀란이 이 질문에 답할 수 있도록 도와주세요.

물론 대피란 모든 주민이 어떤 방공호에든 도착하는 것을 의미합니다. 이때 주민들은 최적으로(최단 경로로) 이동하며, 한 도로를 따라 여러 사람이 동시에 잠재적으로 다른 방향으로 이동할 수 있다고 가정할 수 있습니다. 또한, 주어진 도로의 부분 집합을 사용하여 모든 두 집 사이에 적어도 하나의 경로가 존재한다고 가정할 수 있습니다.

입력

첫 번째 줄에는 주민 수, 도로 수, 방공호 수를 나타내는 자연수 $N$ ($1 \le N \le 100\,000$), $M$ ($1 \le M \le 300\,000$), $K$ ($1 \le K \le 17$)가 주어집니다. 집은 $1$부터 $N$까지의 번호로 표시됩니다.

다음 $M$개의 각 줄에는 집 $A$와 $B$ ($1 \le A, B \le N, A \neq B$) 사이에 통과하는 데 $C$ ($1 \le C \le 10^9$) 단위의 시간이 걸리는 도로가 있음을 나타내는 세 자연수 $A, B, C$가 주어집니다.

다음 $K$개의 각 줄에는 번호 $X$ ($1 \le X \le N$)인 집에 최대 $Y$ ($1 \le Y \le 10^9$)명의 사람을 수용할 수 있는 방공호가 있음을 나타내는 두 자연수 $X, Y$가 주어집니다. 모든 방공호의 총 수용 인원은 $N$보다 크거나 같습니다.

출력

모든 주민을 대피시키는 데 필요한 최소 시간을 한 줄에 출력하십시오.

서브태스크

서브태스크 배점 추가 제한
1 30 $N \le 100, M \le 500, K \le 5$
2 30 $K \le 10$
3 40 추가 제한 없음

예제

입력 1

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

출력 1

3

참고

3단위 시간 동안 집 번호 1, 2, 3의 사람들은 집 1의 방공호로 갈 수 있고, 집 4와 5의 사람들은 집 4의 방공호로 갈 수 있습니다. 집 4의 방공호는 최대 2명만 수용할 수 있기 때문에 더 짧은 시간 내에는 모든 사람이 방공호에 도착할 수 없습니다.

입력 2

7 8 3
1 2 5
2 3 3
3 4 5
1 4 1
4 5 7
5 6 2
6 7 1
4 7 4
3 3
7 3
6 2

출력 2

5

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.