AT_tupc2022_j.AMidA
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个由 N 条竖线组成的阿弥陀签。每条竖线的长度为 2M+1 [cm],横线需要满足下列条件:
- 横线的端点只能出现在从上往下数的 1,2,…,2M [cm] 高度上,并且横线两端的高度需相等。
- 所有横线仅连接相邻的 2 条竖线。
- 在同一高度上至多只能有 1 条横线。

初始情况下,该阿弥陀签有 M 条横线。第 j (j=1,2,…,M) 条横线画在从上往下数第 2j [cm] 的位置,连接从左往右数第 aj 条竖线和第 aj+1 条竖线。
对于这个阿弥陀签,可以进行任意次(0 次也可以)如下操作:
- 选择尚未被画横线的高度 h,以及 1≤b≤N−1 的整数 b。在从上往下数第 h [cm] 的位置,添加连接从左往右数第 b 条和第 b+1 条竖线的横线。
若对于所有 i=1,2,…,N,从左往右数第 i 条竖线出发,结果都在左边第 i 条竖线结束,则称该阿弥陀签为“恒等的阿弥陀签”。请你求出,为了把给定的阿弥陀签变成恒等的阿弥陀签,最少需要进行多少次操作,并给出一种达到最小操作次数的方案。
在本题约束条件下,始终存在能将其变为恒等的阿弥陀签的操作方案。

输入格式
输入格式如下所示,通过标准输入给出。
N M a1 a2 … aM
输出格式
请输出最小操作次数 ans,共 1+ans 行。
第 1 行输出 ans。接下来的 j+1 行(j=1,2,…,ans),每行输出 hj bj,表示第 j 次操作在从上往下数第 hj [cm] 处添加一条连接左起第 bj 条与第 bj+1 条竖线的横线。各元素之间用空格隔开。
输入输出样例
输入#1
3 2 1 2
输出#1
2 1 1 3 2
输入#2
5 4 2 3 4 1
输出#2
4 1 2 3 3 5 4 7 1
输入#3
100000 4 1 2 2 1
输出#3
0
说明/提示
样例解释 1
此外,输出
2
1 2
3 1
也是可以的。
样例解释 3
在有些情况下,不进行操作也已经是恒等的阿弥陀签了。
数据范围
- 2≤N≤2×105
- 1≤M≤2×105
- 1≤aj<N (j=1,2,…,M)
- 所有输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?