#P14929. [uoi2019-2s]哥萨克·乌斯与土豆

[uoi2019-2s]哥萨克·乌斯与土豆

题目描述

众所周知,波托科兰迪亚由 nn 座城市组成,城市之间有 mm 条单向道路。城市编号为 11nn。编号为 ii 的城市中有 pip_i 袋土豆。对于每条道路,已知一个整数 wiw_i,表示哥萨克沿这条道路搬运一袋土豆所需的时间。不同道路的 ww 值可能不同。可以认为每座城市中都有极大量的哥萨克,因此任意数量的土豆袋都可以同时搬运。

哥萨克·乌斯得知,很快波托科兰迪亚将出现一种会毁坏土豆的病毒。为了保护收成,哥萨克们准备把土豆藏进地堡中。

全国共有 ss 个地堡,编号为 11ss。编号为 ii 的地堡位于城市 tit_i,最多可以保存 cic_i 袋土豆,使其免受病毒破坏。

现在,哥萨克想知道哥萨克们最少需要多少时间才能把所有土豆袋藏进地堡。请帮助他完成这个任务。

输入格式

第一行包含三个整数 n,m,sn,m,s1n1051\le n\le 10^50m61050\le m\le 6\cdot 10^51s181\le s\le 18),分别表示波托科兰迪亚中的城市数、道路数和地堡数。

第二行包含 nn 个整数 p1,p2,,pnp_1,p_2,\ldots,p_n0pi1090\le p_i\le 10^9),表示各城市中的土豆袋数。

接下来 mm 行,每行包含三个整数 ui,vi,wiu_i,v_i,w_i1ui,vin1\le u_i,v_i\le nuiviu_i\ne v_i1wi1091\le w_i\le 10^9),表示一条道路以及搬运一袋土豆通过该道路所需的时间。编号为 ii 的道路允许从城市 uiu_i 移动到城市 viv_i。保证对任意 ui,viu_i,v_i,至多存在一条从 uiu_iviv_i 的道路。

接下来 ss 行,每行包含两个整数 ti,cit_i,c_i1tin1\le t_i\le n1ci1091\le c_i\le 10^9),表示对应地堡所在城市以及该地堡最多能保存的土豆袋数。

输出格式

输出一个整数,表示哥萨克们能把所有土豆袋藏进地堡所需的最短时间。如果无法把所有土豆袋都藏入地堡,则输出 1-1

样例

样例 1

2 1 1
3 2
2 1 4
1 6
4

样例 2

4 6 2
2 0 0 2
2 1 6
3 1 2
3 2 3
1 3 4
4 3 4
2 4 6
3 2
2 2
7

样例 3

7 10 3
0 1 1 1 1 0 2
2 1 1
3 2 1
3 1 1
6 4 5
4 5 9
3 4 1
7 6 10
5 7 3
6 5 3
4 3 1
6 5
1 1
2 1
22

样例解释

第一个样例中,可以把所有土豆袋都藏进地堡。为此,只需从编号为 22 的城市向编号为 11 的城市搬运两袋土豆。

第二个样例中,需要在每个地堡中各藏 22 袋土豆。为此,只需从编号为 11 的城市向编号为 33 的城市搬运两袋土豆,并从编号为 44 的城市向编号为 22 的城市搬运两袋土豆(后者最好走路径 4324\to 3\to 2)。

计分方式

原题计分表如下图所示:

原题计分表

文字化整理如下:

编号 n,mn,m ss 附加限制 分数
1 1n10001\le n\le 1000m=2(n1)m=2(n-1) s=1s=1 对任意 1i<n1\le i<n,城市 iii+1i+1 之间双向有路;t1=1t_1=1;每条道路都有反向边且权值相同 4
2 对任意 1i<n1\le i<n,城市 iii+1i+1 之间双向有路;每条道路都有反向边且权值相同
3 从任意城市可以到达任意其他城市;每条道路都有反向边且权值相同 7
4 1n10001\le n\le 10000m40000\le m\le 4000 每条道路都有反向边且权值相同 12
5 1n1051\le n\le 10^50m41050\le m\le 4\cdot 10^5 所有 ww 均为 11;每条道路都有反向边且权值相同 7
6 每条道路都有反向边且权值相同 10
7 1s31\le s\le 3 -
8 1n10001\le n\le 10000m40000\le m\le 4000 1s101\le s\le 10 9
9 1n1051\le n\le 10^50m61050\le m\le 6\cdot 10^5
10 1s141\le s\le 14 14
11 1s181\le s\le 18