A94866.淘金者

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

X 国有 NN 个城镇,编号为 11 到 NN。
此外,这个国家有 MM 条单向道路。第 ii 条道路从城镇 XiX_i 通向城镇 YiY_i。
题目保证 Xi<YiX_i < Y_i,即道路总是从编号小的城镇通向编号大的城镇。

在这个国家,黄金交易非常活跃。在第 ii 个城镇,可以以 AiA_i 元的价格买入或卖出 1 kg1\,\mathrm{kg} 黄金。

作为旅行商人的小明,计划执行以下操作:

  1. 在 X 国内的某个城镇买入 1 kg1\,\mathrm{kg} 黄金。
  2. 经过若干条道路移动到另一个城镇(卖出城镇必须与买入城镇不同)。
  3. 在该城镇卖出 1 kg1\,\mathrm{kg} 黄金。

请计算小明能够获得的最大利润。
利润定义为:((卖出黄金的价格)−() - (买入黄金的价格))。

输入格式

第一行包含两个整数 NN 和 MM。
第二行包含 NN 个整数 A1,A2,…,ANA_1, A_2, \dots, A_N,表示各城镇的黄金价格。
接下来 MM 行,每行包含两个整数 XiX_i 和 YiY_i,表示一条从 XiX_i 到 YiY_i 的道路。

输出格式

输出一个整数,表示最大利润。

输入输出样例

  • 输入#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】

可以通过如下方式获得 33 元的利润:

  • 在城镇 11 以 22 元买入黄金。
  • 移动路径:城镇 1→1 \to 城镇 2→2 \to 城镇 44。
  • 在城镇 44 以 55 元卖出黄金。
  • 利润为 5−2=35 - 2 = 3。

【样例解释 2】

可以通过如下方式获得 1010 元的利润:

  • 在城镇 22 以 88 元买入黄金。
  • 移动路径:城镇 2→2 \to 城镇 4→4 \to 城镇 55。
  • 在城镇 55 以 1818 元卖出黄金。
  • 利润为 18−8=1018 - 8 = 10。

【样例解释 3】

请注意,答案可能为负数(如果无论如何买卖都亏本,也要输出亏损最少的值)。在此例中,只能从城镇 22 到城镇 33,利润为 1−100=−991 - 100 = -99。

【数据范围】

  • 2≤N≤2×1052 \le N \le 2 \times 10^5
  • 1≤M≤2×1051 \le M \le 2 \times 10^5
  • 1≤Ai≤1091 \le A_i \le 10^9
  • 1≤Xi<Yi≤N1 \le X_i < Y_i \le N
  • 保证无重边,且图为有向无环图(DAG)。

输入解题思路,AI测评打分。不知道怎么写?

首页