만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

메르차니예 생산

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

요약
그래프에서 기계를 최대 k개 골라 1번 정점으로 배송하고, V개의 부품을 가장 빨리 생산하는 최소 시간을 구합니다.
난이도

보통10점 중 7점

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

문제

Silco가 Мерцание를 합성하려면 특수한 기계가 필요합니다. 기계를 쓰기 전에 도시에서 기계를 구해 공장으로 옮겨야 합니다.

도시는 정점이 nn개, 간선이 mm개인 가중치 무방향 그래프입니다. 공장은 1번 정점에 있습니다. 일부 정점에는 기계가 있습니다. ii번째 기계는 세 수 (vi,hi,ti)(v_i, h_i, t_i)로 표현됩니다. viv_i는 기계가 있는 정점 번호이고, hih_i는 기계를 설치하고 예열하는 데 걸리는 시간이며, tit_i는 기계가 성분을 만드는 속도입니다.

Silco에게는 kk명의 자유 택배원이 있습니다. 각 택배원은 기계를 한 대만 옮길 수 있습니다. 기계를 옮긴 택배원은 몸을 숨기므로 다른 기계를 가지러 갈 수 없습니다. 따라서 Silco는 최대 kk대의 기계를 공장으로 옮길 수 있습니다.

모든 택배원은 시각 0에 공장에서 동시에 출발합니다. 기계가 있는 정점까지 가는 데 걸리는 시간은 그 정점까지의 최단 경로에 있는 간선 가중치의 합입니다. 기계가 1번 정점에 있으면 옮기는 데 시간은 들지 않지만, 어떤 경우든 택배원 한 명이 필요합니다.

기계가 공장에 도착하면 먼저 hih_i 단위 시간 동안 준비합니다. 그 뒤로는 tit_i 단위 시간마다 성분을 하나씩 계속 만듭니다. 성분 VV개를 만드는 데 필요한 최소 시간은 얼마입니까?

입력

첫 줄에 정수 nn, mm, kk가 공백으로 구분되어 주어집니다. 각각 정점의 수, 간선의 수, 택배원의 수입니다 (2≤n,m,k≤2⋅1052 \leq n, m, k \leq 2 \cdot 10^5).

이어지는 mm개의 줄에는 정수 aia_i, bib_i, cic_i가 주어집니다. 정점 aia_i와 bib_i를 잇는 가중치 cic_i의 간선이 있다는 뜻입니다 (1≤ai,bi≤n1 \leq a_i, b_i \leq n; ai≠bia_i \neq b_i; 1≤ci≤1091 \leq c_i \leq 10^9). 주어지는 간선은 모두 서로 다릅니다.

다음 줄에는 도시에 있는 기계의 수 ss가 주어집니다 (1≤s≤2⋅1051 \leq s \leq 2 \cdot 10^5).

이어지는 ss개의 줄에는 기계를 나타내는 세 정수 viv_i, hih_i, tit_i가 주어집니다. 기계가 있는 정점, 예열 시간, 성분 하나를 만드는 데 걸리는 시간입니다 (1≤vi≤n1 \leq v_i \leq n; 1≤hi,ti≤1091 \leq h_i, t_i \leq 10^9).

마지막 줄에는 만들어야 하는 성분의 수 VV가 주어집니다 (1≤V≤1091 \leq V \leq 10^9).

출력

성분 VV개를 만드는 데 필요한 최소 시간을 정수 하나로 출력합니다.

예제2

  1. 예제 1

    입력
    3 3 2
    1 2 5
    1 3 2
    3 2 2
    3
    1 15 1
    2 1 1
    3 3 2
    10
    
    예상 출력
    15
    
  2. 예제 2

    입력
    4 4 4
    4 2 5
    1 3 3
    3 4 16
    2 1 9
    10
    3 18 8
    1 2 12
    4 8 19
    2 9 15
    2 12 2
    4 20 4
    3 11 14
    2 5 3
    4 19 1
    1 1 20
    3
    
    예상 출력
    26