A94866.淘金者
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
X 国有 N 个城镇,编号为 1 到 N。
此外,这个国家有 M 条单向道路。第 i 条道路从城镇 Xi 通向城镇 Yi。
题目保证 Xi<Yi,即道路总是从编号小的城镇通向编号大的城镇。
在这个国家,黄金交易非常活跃。在第 i 个城镇,可以以 Ai 元的价格买入或卖出 1kg 黄金。
作为旅行商人的小明,计划执行以下操作:
- 在 X 国内的某个城镇买入 1kg 黄金。
- 经过若干条道路移动到另一个城镇(卖出城镇必须与买入城镇不同)。
- 在该城镇卖出 1kg 黄金。
请计算小明能够获得的最大利润。
利润定义为:(卖出黄金的价格)−(买入黄金的价格)。
输入格式
第一行包含两个整数 N 和 M。
第二行包含 N 个整数 A1,A2,…,AN,表示各城镇的黄金价格。
接下来 M 行,每行包含两个整数 Xi 和 Yi,表示一条从 Xi 到 Yi 的道路。
输出格式
输出一个整数,表示最大利润。
输入输出样例
输入#1
4 3 2 3 1 5 2 4 1 2 1 3
输出#1
3
输入#2
5 5 13 8 3 15 18 2 4 1 2 4 5 2 3 1 3
输出#2
10
输入#3
3 1 1 100 1 2 3
输出#3
-99
说明/提示
说明/提示
【样例解释 1】
可以通过如下方式获得 3 元的利润:
- 在城镇 1 以 2 元买入黄金。
- 移动路径:城镇 1→ 城镇 2→ 城镇 4。
- 在城镇 4 以 5 元卖出黄金。
- 利润为 5−2=3。
【样例解释 2】
可以通过如下方式获得 10 元的利润:
- 在城镇 2 以 8 元买入黄金。
- 移动路径:城镇 2→ 城镇 4→ 城镇 5。
- 在城镇 5 以 18 元卖出黄金。
- 利润为 18−8=10。
【样例解释 3】
请注意,答案可能为负数(如果无论如何买卖都亏本,也要输出亏损最少的值)。在此例中,只能从城镇 2 到城镇 3,利润为 1−100=−99。
【数据范围】
- 2≤N≤2×105
- 1≤M≤2×105
- 1≤Ai≤109
- 1≤Xi<Yi≤N
- 保证无重边,且图为有向无环图(DAG)。