反物质
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
问题描述
物理学家有一种假设,世界上存在反物质,反物质遇到正常的物质会发生湮灭。
假设现在有n
个粒子,每个粒子的种类用一个m
以内的正整数表示。现在要将这些粒子按一定顺序放入一个封闭空间。 封闭空间最初什么都没有。每当放进一个粒子时,若封闭空间为空或封闭空间中的粒子和放入的粒子种类相同,这个粒子将留在封闭空间中;若封闭空间中的粒子和放入的粒子种类不同,则封闭空间中会有一个粒子和放入的粒子抵消(即湮灭) 。判断是否存在一种排序方案,使得最后封闭空间中有种类编号为1
的粒子存在。若存在,最大化最后种类编号为1
的粒子个数。若多种方案,要求字典序最小。
输入格式
第1
行: n
和 m
,用空格隔开。
第 2
到 m+1
行:第 i+1
行代表第 i
种粒子有多少个。每种粒子至少有 1
个。
保证粒子总数是 n
。
输出格式
第 1
行:如果最后封闭空间中可以有编号为1
的粒子存在, 输出 YES
。
否则输出 NO
。
如果第一行输出了 YES,还需继续输出:
第 2
行:这一行输出最后1
的个数。
第 3
至n+2
行:输出在能最后1
有最大数的排序方案里, 字典序最小的方案
如果第一行输出了 NO
, 就不必输出其他内容了
样例输入
5 3
2 1 2
样例输出
YES
1
1
3
2
3
1
时空限制
1s,128M
数据规模和约定
对于 30%
的数据, n<=10
对于 60%
的数据, n<=1000
对于 100%
的数据, 1<=m<=n<=10^6