AT_abc035_d [ABC035D] トレジャーハント

题目描述

高桥君居住的国家有 $N$ 个城镇,以及 $M$ 条连接城镇之间的单向道路,每个城镇编号为 $1$ 到 $N$。第 $i$ 条道路允许从 $a_i$ 号城镇移动到 $b_i$ 号城镇,移动需要 $c_i$ 分钟。 高桥君手头没有钱,他决定进行一次持续 $T$ 分钟的寻宝之旅。高桥君在开始的第 $0$ 分钟时位于 $1$ 号城镇,并且在第 $T$ 分钟结束时也必须回到 $1$ 号城镇。如果高桥君在第 $i$ 号城镇停留 $1$ 分钟,他的所持金会增加 $A_i$ 日元。 请你求出在 $T$ 分钟的寻宝之旅中,高桥君所能获得的最大金额。

输入格式

输入通过标准输入给出,格式如下: > $N$ $M$ $T$ > $A_1$ $A_2$ … $A_N$ > $a_1$ $b_1$ $c_1$ > $a_2$ $b_2$ $c_2$ > ⋮ > $a_M$ $b_M$ $c_M$ - 第 $1$ 行包含三个整数,分别表示城镇数、道路数和寻宝的总分钟数 $N, M, T$,满足 $2 \leq N \leq 10^5$,$1 \leq M \leq \min(N(N-1), 10^5)$,$1 \leq T \leq 10^9$。 - 第 $2$ 行包含 $N$ 个整数,第 $i$ 个整数 $A_i$ 表示在第 $i$ 号城镇每停留 $1$ 分钟可以获得的金额,$1 \leq A_i \leq 10^5$。 - 接下来的 $M$ 行,每行包含三个整数 $a_i, b_i, c_i$,表示第 $i$ 条道路的信息:可以从 $a_i$ 号城镇到 $b_i$ 号城镇,花费 $c_i$ 分钟,$1 \leq a_i, b_i \leq N$,$a_i \neq b_i$,$1 \leq c_i \leq 10^5$。 - 对于任意 $i \neq j$,要么 $a_i \neq a_j$,要么 $b_i \neq b_j$。

输出格式

请输出高桥君通过寻宝所能获得的最大金额。输出一个整数并换行。

说明/提示

## 部分分 本题设有部分分。 - 对于满足 $1 \leq N \leq 200$ 的数据集,答对可得 $50$ 分。 - 对于没有额外限制的数据集,答对可再得 $50$ 分,总计 $100$ 分。 ## 样例解释 1 - 从第 $0$ 分钟开始,花 $2$ 分钟从 $1$ 号城镇移动到 $2$ 号城镇。 - 从第 $2$ 分钟开始,在 $2$ 号城镇停留 $2$ 分钟,获得 $6$ 日元。 - 从第 $4$ 分钟开始,花 $1$ 分钟从 $2$ 号城镇回到 $1$ 号城镇。 - 第 $5$ 分钟时回到 $1$ 号城镇,寻宝结束。 - 该情况满足部分分的限制。 ## 样例解释 2 - 从第 $0$ 分钟开始,在 $1$ 号城镇停留 $3$ 分钟最优,可获得 $3$ 日元。 - 该情况满足部分分的限制。 ## 样例解释 3 - 该情况满足部分分的限制。 由 ChatGPT 4.1 翻译