AT_joi2015ho_d.舞踏会 (Ball)
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在 IOI 王国,为了庆祝公主 JOI 的生日,将举办一场舞会。
预计有 N 位贵族参加舞会,N 是奇数。每位贵族编号为 1 到 N。每位贵族都有一个表示舞蹈水平的整数,对于贵族 i(1≤i≤N),其舞蹈水平为 Di。
舞会中,包括 JOI 公主在内的 N+1 个人将两两组队跳舞。在 IOI 王国,为了让高水平者能帮助初学者,传统上采用如下方式决定舞伴:
- 首先,N 位贵族排成一列。
- 只要队列中人数大于 1,重复以下操作:
- 查看队列最前面的 3 位贵族的舞蹈水平。
- 在这 3 人中,舞蹈水平最高的贵族记为 A。若有多人并列,则取编号最小者为 A。
- 在这 3 人中,舞蹈水平最低的贵族记为 B。若有多人并列,则取编号最大者为 B。
- A 与 B 组成一组并离开队列。
- 剩下的那个人移动到队列末尾。
- 最终剩下的 1 人将与 JOI 公主组队。
对于编号 1 到 M(1≤M≤N−2)的 M 位贵族,他们在初始队列中的位置已确定。剩下的 N−M 位贵族的排列顺序由国王自由决定。
JOI 公主刚刚学会跳舞,因此国王希望能让与 JOI 公主组队的贵族的舞蹈水平尽可能高。请你求出 JOI 公主最终可能组队的贵族的舞蹈水平的最大值。
输入格式
从标准输入读取以下数据。
- 第 1 行包含两个整数 N,M,表示参加舞会的贵族人数和初始队列中位置已确定的贵族人数。
- 接下来 M 行,第 i 行(1≤i≤M)包含两个整数 Di,Pi,表示贵族 i 的舞蹈水平为 Di,且初始时排在队列第 Pi 个位置。
- 接下来 N−M 行,第 i 行(1≤i≤N−M)包含一个整数 Di+M,表示贵族 i+M 的舞蹈水平为 Di+M。
输出格式
输出一个整数,表示 JOI 公主最终可能组队的贵族的舞蹈水平的最大值。
输入输出样例
输入#1
7 3 5 2 5 5 8 6 6 2 8 9
输出#1
8
输入#2
3 1 5 3 5 5
输出#2
5
输入#3
7 2 32 4 27 6 37 41 41 30 27
输出#3
37
说明/提示
任务
给定每位贵族的舞蹈水平和 M 位贵族的初始队列位置,编写程序求出 JOI 公主最终可能组队的贵族的舞蹈水平的最大值。
限制
所有输入数据满足以下条件:
- 3≤N≤99999。
- N 是奇数。
- 1≤M≤N−2。
- 1≤Di≤1000000000(1≤i≤N)。
- 1≤Pi≤N(1≤i≤M)。
- Pi=Pj(1≤i<j≤M)。
子任务
子任务 1 [8 分]
- 满足 N≤9。
子任务 2 [16 分]
- 满足 N≤19。
子任务 3 [44 分]
- 满足 N≤1999。
子任务 4 [32 分]
无额外限制。
样例解释 1
初始时有 3 位贵族的位置已确定。

括号内的数字表示舞蹈水平。左端为队列前端。
例如,若队列顺序为贵族 5,贵族 1,贵族 4,贵族 6,贵族 2,贵族 3,贵族 7,则:

所有贵族排好队后的顺序如下:
此时队列变化如下:
- 队列前 3 人(贵族 5,1,4)中,舞蹈水平最高的是贵族 4,最低的是贵族 5,于是 4 和 5 组队,剩下的贵族 1 移到队尾。
- 接着,队列前 3 人(贵族 6,2,3)中,舞蹈水平最高的是贵族 6 和 3,取编号较小的贵族 3,最低的是贵族 2,于是 3 和 2 组队,剩下的贵族 6 移到队尾。
- 接着,队列前 3 人(贵族 7,1,6)中,舞蹈水平最高的是贵族 7,最低的是贵族 1,于是 7 和 1 组队,剩下的贵族 6 移到队尾。
- 最终只剩贵族 6,与 JOI 公主组队。贵族 6 的舞蹈水平为 8,这是 JOI 公主可能组队的贵族舞蹈水平的最大值。

队列变化过程示意图。
样例解释 2
无论如何排列,最终都是贵族 2 与 JOI 公主组队。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?