#B4405. [语言月赛 202509] 你这题至少 *3000

[语言月赛 202509] 你这题至少 *3000

题目背景

小 S 虽然笨笨的,但好在还能出出来很有趣的题。^^

题目描述

为了筹备一场比赛,小 S 所在的出题组出了 nn 道题,准备放进一场包含 mm 道题的比赛中。小 S 需要决定将哪几道题放入比赛中,以及每一道题放到 mm 个位置中的哪一个位置(“位置”举例:“放在第一题的位置”“放在第二题的位置”等)。

然而,每道题目有可能适合放到比赛中两个位置中的一个。具体来说,第 ii 道题目适合放在比赛中的第 aia_i 个题的位置,也适合放在第 ai+1a_i+1 个题的位置(除了 ai=ma_i=m,此时这道题目只适合放在比赛中的第 mm 个题的位置)。

你的任务是,告诉小 S 现在比赛需要的 mm 个位置中,有多少个位置是一定会空缺的(即,没有任何一道题目适合这个位置)。如果没有,你需要告诉他“所有位置都放好题了”,否则你需要告诉他有哪些位置是一定会空缺的。

注:此处的“一定会空缺”指代的是所有题目都不可能放到这个位置。我们只考虑可能的情况,不需要考虑“一道题目放到适合它的某个位置,那另一个适合它的位置是不是会空缺”的情况。可参照样例 #2 理解。

输入格式

第一行包含两个整数 n,mn,m,含义如题面所示。

接下来一行 nn 个整数,第 ii 个整数为 aia_i,含义如题面所示。

输出格式

假设答案为 cc,表示比赛中还有 cc 个位置一定会空缺。

如果 c=0c=0,只需输出一行一个字符串 Accepted

否则先输出一行一个整数 cc,接下来第二行输出 cc 个整数,用空格隔开,表示这 cc 个位置。

3 7
4 4 4
5
1 2 3 6 7
2 4
1 3
Accepted
10 12
1 5 8 3 3 3 4 2 2 12
3
7 10 11

提示

样例 #1 解释

所出的三道题目都只能放在比赛中第 44 题的位置或第 55 题的位置。所以,比赛中的 1,2,3,6,71,2,3,6,755 个位置都一定会空缺,即,找不出任何一道题适合这些位置。

样例 #2 解释

所出的两道题目分别可以放在比赛中第 1,21,2 题或 3,43,4 题的位置,由于比赛中总共只有 44 个位置,所以没有任何一道题目一定会空缺(即,没有位置是所有题都不适合的)。因此输出 Accepted

数据范围

对于 100%100\% 的数据,满足 1n,m1051\le n,m\le 10^51aim1\le a_i\le m

测试点编号 n,mn,m\le 特殊性质
141\sim 4 22
585\sim 8 50005000 n=mn=m,且 ai=ia_i=i
9159\sim 15 ^
162016\sim 20 10510^5