#arc038d. [arc038_d]有向グラフと数

[arc038_d]有向グラフと数

问题描述

给定一个有 NN 个顶点和 MM 条边的有向图。每个顶点 ii 上都有一个整数 XiX_i。喜欢玩游戏的兄妹准备使用这个图和一个棋子来进行游戏。

  • 初始时,棋子放在顶点 11 上。
  • 玩家在自己的回合中必须执行以下两种操作之一:
    • 移动:将棋子移动一次到另一个顶点。如果棋子在顶点 ii 上,则只能将其移动到存在从顶点 ii 到顶点 jj 的边的顶点 jj 上。
    • 宣告结束:结束游戏。
  • 交替进行回合,直到某个玩家宣告结束,或者在后手进行了 10910^9 次移动后游戏结束。此时,棋子所在顶点上的整数即为游戏的得分

先手玩家要采取行动以尽可能增加得分,而后手玩家要采取行动以尽可能降低得分。请问最终的得分是多少?


输入格式

输入从标准输入读取,具体格式如下:

NN MM X1X_1 X2X_2 ... XNX_N A1A_1 B1B_1 A2A_2 B2B_2 : AMA_M BMB_M

  • 11 行包含两个整数,用空格分隔,分别表示顶点的个数 NN1N100,0001 \leq N \leq 100,000)和边的个数 MM1M200,0001 \leq M \leq 200,000)。
  • 22 行包含 NN 个整数,用空格分隔,表示每个顶点上的整数。其中第 ii1iN1 \leq i \leq N)个整数 XiX_i0Xi1090 \leq X_i \leq 10^9)表示顶点 ii 上的整数。
  • 接下来的 MM 行描述边的信息。其中第 ii1iM1 \leq i \leq M)行包含两个整数 AiA_iBiB_i,用空格分隔,表示从顶点 AiA_i 到顶点 BiB_i 存在一条有向边。保证不存在重复的边,即对于任意 pqp \neq q,有 ApAqA_p \neq A_q 或者 BpBqB_p \neq B_q

子任务

本问题设有部分分。

  • 对于满足 N1000N \leq 1000M2000M \leq 2000 的数据集 11,答案正确可以获得 3030 分。
  • 对于所有测试用例答案正确可以额外获得 7070 分。

输出格式

输出到标准输出,末尾必须包含换行符。

输出游戏的得分。


示例 1

3 3
1 3 2
1 2
2 3
3 1

输出示例 1

2

在这个示例中,游戏的进行如下:

  • 先手玩家选择移动,将棋子从顶点 11 移动到顶点 22
  • 后手玩家选择移动,将棋子从顶点 22 移动到顶点 33
  • 先手玩家选择宣告结束,结束游戏。此时得分为 22

无论先手玩家采取何种行动,后手玩家都可以通过采取适当的行动来使得得分不大于 22

同样地,无论后手玩家采取何种行动,先手玩家都可以通过采取适当的行动来使得得分不小于 22


示例 2

4 5
1 3 2 1
1 2
2 3
3 1
2 4
4 3

输出示例 2

1

在这个示例中,游戏的进行如下:

  • 先手玩家选择移动,将棋子从顶点 11 移动到顶点 22
  • 后手玩家选择移动,将棋子从顶点 22 移动到顶点 44
  • 先手玩家选择移动,将棋子从顶点 44 移动到顶点 33
  • 后手玩家选择移动,将棋子从顶点 33 移动到顶点 11
  • 先手玩家选择移动,将棋子从顶点 11 移动到顶点 22
  • 后手玩家选择移动,将棋子从顶点 22 移动到顶点 44
  • (重复上述过程一段时间)
  • 后手玩家进行第 10910^9 次移动,将棋子从顶点 33 移动到顶点 11
  • 游戏结束,此时得分为 11

无论先手玩家采取何种行动,后手玩家都可以通过采取适当的行动来使得得分不大于 11

同样地,无论后手玩家采取何种行动,先手玩家都可以通过采取适当的行动来使得得分不小于 11