/ ZNOI / 题库 /

查找

查找

题目描述

现有一个有 \(n\) 个元素的集合 \(a\){\(a_1,a_2,a_3...a_n\)}。

同时对于任意一个 \(i>j\),确保 \(a_j \le a_i\)。

在确保上述性质成立的情况下,可以对集合 \(a\) 进行如下操作:

  • 令 \(a_i\) \(+1\) 或 \(-1\)
  • 删除集合中 \(a_x\) 之后的元素,\(x=\lfloor\frac{1+n}{2}\rfloor\)。
  • 删除集合中 \(a_x\) 之前的元素,\(x=\lfloor\frac{1+n}{2}\rfloor\)。

在经历 \(k\) 次操作后,集合 \(a\) 中是否恰好有一段前缀或后缀使和为 \(sum\)?

输入格式

第一行共三个整数 \(n\),\(k\),\(sum\)。

第二行共 \(n\) 个整数,\({a_1,a_2,....,a_n}\)。

输出格式

若在经历 \(k\) 次操作后,集合 \(a\) 中是否恰好有一段连续子序列使得子序列和为 \(sum\),则输出Yes,反之输出No

输入输出样例 #1

输入 #1

7 3 8
1 2 3 4 5 6 7

输出 #1

Yes

输入输出样例 #2

输入 #2

1 2 24
15

输出 #2

No

说明/提示

对于 30% 的数据,确保 \(1\le n\le10^2\),\(1\le k\le20\),\(0\le sum<100\),\(0\le a_i\le10^3\),\(0\le\sum_{i=1}^{n}a_i\le10^4\)。

对于 50% 的数据,确保 \(1\le n\le10^4\),\(1\le k\le10^3\),\(0\le sum\le10^6\),\(0\le a_i\le10^5\),\(0\le\sum_{i=1}^{n}a_i\le10^8\)。

对于 80% 的数据,确保 \(0\le\sum_{i=1}^{n}a_i\le10^8\)。

对于 100% 的数据,确保 \(1\le n\le3*10^4\),\(1\le k\le1.5*10^3\),\(0\le sum\le10^6\),\(0\le a_i\le3*10^5\),\(0\le\sum_{i=1}^{n}a_i\le10^9\)。

信息

ID
1001
难度
9
分类
(无)
标签
(无)
递交数
1
已通过
1
通过率
100%
上传者