#P1147. 无尽寿司
无尽寿司
题目描述
现在有一条传送带,传送带上有无穷多的寿司。每颗寿司有饱腹度。这无穷多个寿司是一个寿司序列的无限重复。举例寿司序列为[1, 2, 3]
时,这无穷多个寿司可以被描述为[1, 2, 3, 1, 2, 3, 1, 2, 3, ...]
。
现在,你需要从这无穷多的寿司中截取一段连续的寿司。使得这段寿司的饱腹度之和为,且这个序列的长度尽量长。
你需要回答下述问题:
- 第一个问题是是否存在一种截取方案使得寿司的饱腹度为,存在给出
Yes
,不存在给出No
。 - 在存在截取方案的前提下,你还需要给出满足要求的最长寿司序列长度。
输入格式
输入将给出一个长度为的序列,实际序列将是这个序列的无限重复。
第一行两个正整数,表示序列长度,你截取的寿司段的饱腹度之和。
接下来一行个正整数,依次表示序列中的个数字。
输出格式
第一行一个Yes
或No
,表明方案是否存在。
在Yes
的情况下输出第二行一个整数表示最长寿司序列长度。
3 9
2 1 2
Yes
5
3 9
2 2 2
No
样例解释
样例解释1
寿司序列为[2, 1, 2, 2, 1, 2, 2, 1, 2, ...]
,你需要截取的寿司段的和为,一种方法是从第三个寿司到第七个寿司,这时可以截取到[2, 2, 1, 2, 2]
,和是9且序列长度是5。这是最长的方案之一。
样例解释2
显然无论如何不可能截取出来一段序列和是9。
数据规模与约定
每组数据点5分,共20组数据。
数据点编号 | 数据范围 | 其他说明 |
---|---|---|
#1~#3 | 无 | |
#4~#7 | ||
#8~#12 | 相等 | |
#13~#20 | 无 |