CSPSMK07D. 博弈(game)

提交3 通过2
通过率66.7%
文件IO启用
输入文件game.in
输出文件game.out
时间限制5000ms
内存限制512MiB
    ID: 14550 传统题 文件IO 输入文件:game.in 输出文件:game.out 5000ms 512MiB 尝试: 3 已通过: 2 难度: 提高+/省选- 上传者: 标签>C++CSP-S考前模拟

题目描述

题目描述

Alice 和 Bob 发现了一个数字图——这是一个连通的有向图,每个顶点上都标有一个数字。

两人急需一个数字,于是决定在图上游玩一个游戏。他们将棋子放在编号为 1 的顶点上。每一回合可以选择以下两种操作之一:

  • 结束游戏并获得当前顶点上的数字;

  • 沿着有向边将棋子移动到相邻顶点。

如果游戏进行到 1010010^{100} 回合仍未结束,则自动终止并获得当前顶点上的数字。

Alice 先手,他希望最大化最终获得的数字;而 Bob 则希望最小化这个数字。假设双方都采取最优策略,求游戏结束时他们将获得的数字。

输入格式

第一行包含两个整数 nn 和 mm——分别表示图的顶点数和边数。

第二行包含 nn 个整数 aia_i——表示每个顶点上的数字。

接下来的 mm 行,每行包含两个整数 xx 和 yy,表示存在一条从顶点 xx 指向 yy 的有向边。

输出格式

输出一个整数,表示在双方都采取最优策略时,游戏结束时获得的数字。

输入样例 #1

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

输出样例 #1

4

输入样例 #2

2 2
1 2
1 2
2 1

输出样例 #2

1

说明提示

  • (66 分)给定的图是一条所有边同向的直线;

  • (88 分)给定的图是一棵以顶点 1 为根的树,所有边方向从根向下;

  • (1414 分)给定的图是一个环;

  • (2626 分)1≤ai≤21 \leq a_i \leq 2;

  • (4646 分)无额外限制。

输入样例 #3

1 2
945984602
1 1
1 1

输出样例 #3

945984602

数据范围

(1≤n≤250 0001 \leq n \leq 250\,000,1≤m≤500 0001 \leq m \leq 500\,000)

(1≤ai≤1091 \leq a_i \leq 10^9)

(1≤x,y≤n1 \leq x, y \leq n)