#abc035d. [abc035_d]トレジャーハント

[abc035_d]トレジャーハント

问题描述

高桥君所居住的国家有 NN 个城镇,城镇之间通过 MM 条单向道路相连,每个城镇都被分配了从 11NN 的编号。第 ii 条道路可以从城镇 aia_i 移动到城镇 bib_i,需要花费 cic_i 分钟。

持有零元的高桥君决定参加 TT 分钟的寻宝活动。高桥君在开始的时候(第 00 分钟)位于编号为 11 的城镇。而且,在从开始到第 TT 分钟的时间内,高桥君必须停留在编号为 11 的城镇。如果高桥君在第 ii 个城镇停留了 11 分钟,则他的所持金增加 AiA_i 元。

请计算高桥君在 TT 分钟的寻宝活动中所能获得的最大金额。


输入

输入从标准输入中按以下格式给出。

NN MM TT A1A_1 ... ANA_N a1a_1 b1b_1 c1c_1 . . . aMa_M bMb_M cMc_M

  • 11 行有 33 个整数 NNMMTT,分别表示城镇的数量、道路的数量和寻宝时间的分钟数(2N105,1Mmin(N(N1),105),1T109)(2≦N≦10^5, 1≦M≦min(N(N-1),10^5), 1≦T≦10^9)。这三个整数之间用空格分隔。
  • 22 行是一个包含 NN 个整数 Ai(1Ai105)A_i(1≦A_i≦10^5) 的列表,表示在第 ii 个城镇停留时可获得的金钱。这 NN 个整数之间用空格分隔。
  • 从第 33 行开始的连续 MM 行中,每行包含 33 个整数 ai,bi,ci(1ai,biN,aibi,1ci105)a_i, b_i, c_i (1≦a_i,b_i≦N,a_i≠b_i, 1≦c_i≦10^5),表示第 ii 条道路的信息。这 MM 行整数之间用空格分隔。
  • 对于任意的 iijj,当 iji\neq j 时,aiaja_i\neq a_j 或者 bibjb_i\neq b_j

输出

请输出高桥君在寻宝活动中可能获得的最大金额。输出占一行,不要忘记换行符。


部分分

本问题设有部分分。

  • 1N2001≦N≦200 的数据满足要求时,可获得 5050 分。
  • 完全正确且无其他约束的数据集可获得额外 5050 分,总分为 100100 分。

示例 1

2 2 5
1 3
1 2 2
2 1 1

输出示例 1

6
  • 从开始到第 00 分钟,需要 22 分钟从城镇 11 移动到城镇 22
  • 从开始到第 22 分钟,停留 22 分钟在城镇 22。此时所持金为 66 元。
  • 从开始到第 44 分钟,需要 11 分钟从城镇 22 移动到城镇 11
  • 在第 55 分钟,高桥君再次回到了城镇 11。寻宝活动结束。
  • 这个案例满足部分分的限制条件。

示例 2

2 2 3
1 3
1 2 2
2 1 1

输出示例 2

3
  • 在从开始到第 T=3T=3 分钟内,最佳选择是停留在城镇 11,可以将所持金增加到 33 元。
  • 这个案例满足部分分的限制条件。

示例 3

8 15 120
1 2 6 16 1 3 11 9
1 8 1
7 3 14
8 2 13
3 5 4
5 7 5
6 4 1
6 8 17
7 8 5
1 4 2
4 7 1
6 1 3
3 1 10
2 6 5
2 4 12
5 1 30

输出示例 3

1488
  • 这个案例满足部分分的限制条件。