TopCoder

Caido
主唱太拼命了

User's AC Ratio

100.0% (3/3)

Submission's AC Ratio

100.0% (5/5)

Tags

Description

n 座城市編號 1,2,...,n 和一些航線及其價格,想要從城市 1 出發,經過一些城市轉機到目標城市。

航班中有 m 條是普通航班,搭乘普通航班時一定要正常付費。

航班中有 k 條是促銷航班,搭乘促銷航班時可以選擇正常付費或是免費,但是選擇免費是有條件的。

當一個人付費買票後,他會成為臨時會員狀態。如果他的緊鄰的下一趟航程是促銷航班,他可以選擇免費,反之則不可以。在搭乘一次免費航程後,會馬上變回非會員狀態。

免費航班和促銷航班都是單向的。

問目標城市是 2,3,...,n 的時候,最小花費分別為何?

Input Format

第一行是 n,m,k 分別代表城市、普通航線數量以及促銷航線數量。

之後有 m 行三個數字 u,v,w 代表普通航線的起始點、終點和費用。

之後有 k 行三個數字 u,v,w 代表促銷航線的起始點、終點和費用。

  • 1n300000
  • 0m,k300000
  • 1u,vn
  • 0w109
  • 對任意兩城市 u,v,至多只有一條從 uv 的航班

Output Format

輸出一行 n1 個整數,分別代表到第 2,3,4,...,n 個城市的最小花費。

如果無法抵達,請輸出 1

Sample Input 1

4 2 3
1 2 5
1 3 3
2 4 4
3 4 7
2 3 9

Sample Output 1

5 3 3 

Sample Input 2

4 3 0
1 2 2
2 3 3
4 3 1

Sample Output 2

2 5 -1 

Hints

每一個城市都有兩個平行世界,一個是臨時會員世界,一個是普通世界,航班事實上是在平行世界間穿梭......

Problem Source

IOICamp 2021 Day3 pI

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 0~26 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 2000 262144 65536 1 2
1 2000 262144 65536 1 2
2 2000 262144 65536 2
3 2000 262144 65536 2
4 2000 262144 65536 2
5 2000 262144 65536 2
6 2000 262144 65536 2
7 2000 262144 65536 2
8 2000 262144 65536 2
9 2000 262144 65536 2
10 2000 262144 65536 2
11 2000 262144 65536 2
12 2000 262144 65536 2
13 2000 262144 65536 2
14 2000 262144 65536 2
15 2000 262144 65536 2
16 2000 262144 65536 2
17 2000 262144 65536 2
18 2000 262144 65536 2
19 2000 262144 65536 2
20 2000 262144 65536 2
21 2000 262144 65536 2
22 2000 262144 65536 2
23 2000 262144 65536 2
24 2000 262144 65536 2
25 2000 262144 65536 2
26 2000 262144 65536 2