该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
33DAI 在整理 Tom 交给他的一份数据。数据里原来有一个长度为 n 的不降整数序列 a1,a2,…,an,即满足 a1≤a2≤⋯≤an。
记它的前缀和 si=a1+a2+⋯+ai(1≤i≤n)。Tom 只保留了前缀和的最后 k 项 sn−k+1,sn−k+2,…,sn,其余数据都丢失了。
33DAI 想知道:是否存在一个满足 a1≤a2≤⋯≤an 的整数序列 a,使得它的前缀和最后 k 项恰好是 Tom 保留下来的这些数?请你帮他判断。
输入格式
从文件 prefix.in 读入数据。
第一行一个整数 t,表示测试用例组数。
接下来 t 组数据,每组两行:
- 第一行两个整数 n,k;
- 第二行 k 个整数 sn−k+1,sn−k+2,…,sn。
输出格式
输出到文件 prefix.out。
每组数据输出一行:如果存在满足条件的序列 a,输出 Yes;否则输出 No。
评测时逐字符比较,请注意大小写与拼写(Yes 与 No 都是首字母大写、其余小写)。
4
5 5
1 2 3 4 5
7 4
-6 -5 -3 0
3 3
2 3 4
3 2
3 4
Yes
Yes
No
No
样例 1 解释
第 1 组数据可以取 a=[1,1,1,1,1],第 2 组数据可以取 a=[−3,−2,−1,0,1,2,3],这两个序列都不降,且它们前缀和的最后 k 项与输入完全一致。第 3、4 组数据不存在满足条件的序列 a。
样例 2
见 prefix2.in 与 prefix2.ans。
样例 3
见 prefix3.in 与 prefix3.ans。
数据范围
对于所有测试数据,保证:
- 1≤t≤105;
- 1≤n≤105,1≤k≤n;
- −109≤si≤109;
- 所有测试用例的 n 之和不超过 105。
子任务
本题共 20 个测试点,按测试点计分:
| 测试点 |
分值 |
每个测试点 |
特殊限制 |
| 1∼6 |
30 |
5 |
n≤8 |
| 7∼12 |
k=n |
| 13∼20 |
40 |
无额外限制 |
每个测试点单独评分,全部测试点的得分之和即为本题得分。