#CF1679D. 图上投币
图上投币
图上投币
- 时间限制:3 秒
- 内存限制:256 MiB
题目描述
给定一个有向图,顶点 的权值为正整数 。你可任选起点放置硬币,随后沿有向边移动恰好 次。求经过的 个顶点中最大权值的最小可能值;若不存在长度为 个顶点的有向游走,输出 。
输入格式
第一行三个整数 。第二行包含 个顶点权值。接下来 行每行两个整数 ,表示有向边 。
输出格式
输出最小可能的最大顶点权值;无法完成则输出 。
样例输入 1
6 7 4
1 10 2 3 4 5
1 2
1 3
3 4
4 5
5 6
6 2
2 5
样例输出 1
4
数据范围
- ,;
- ;
- ;
- 图中无自环和重边。
本题采用独立测试点计分,每个测试点等分。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 24 | 且 |
| 2 | 36 | 所有顶点权值均为 或 |
| 3 | 40 | 无特殊限制 |

提示
固定允许的最大权值后,只保留权值不超过它的顶点。若子图有环,就能得到任意长游走;否则只需计算 DAG 最长路。