#958. 前缀不等
前缀不等
前缀不等
内存限制: 256 Mb 时间限制: 1000 ms
题目描述
小象拿到了一个序列,其中每个数都不相同。它想把这个序列重排之后拿给它的朋友炫耀。
它的朋友习惯观察一个序列的每一个前缀。但是它的朋友非常不喜欢一个数,如果一个序列有一个前缀的和为,它的朋友看了就会不高兴。
小象当然不希望它的朋友生气,所以它希望重排之后的序列没有前缀满足和为。同时小象为了省事,它希望找到一个字典序最小的重排。请告诉它方案,或者告诉它这样的方案不存在。
输入格式
第一行两个整数。
第二行共 个整数,表示小象初始得到的序列,满足互不相同。
输出格式
第一行输出一个字符串 Yes 或 No,表示是否存在这样的重排方案。
第一行的输出若为 Yes,则第二行 个整数,表示字典序最小的重排方案。
数据范围
- 对于 60% 的数据,;
- 对于 100% 的数据,;
- 对于所有数据,,,,且 互不相同。
样例数据
输入:
3 2
3 2 1
输出:
Yes
1 2 3