问题1849--QинYу数组2.0

1849: QинYу数组2.0

[命题人 : ]
时间限制 : 1 sec  内存限制 : 128 MB

提交

题目描述

M把椅子按顺序排成一圈。 椅子编号为0 ~ m−1。 N个人想坐在这些椅子上。 第i个想要在他的左边和右边至少有a[i]个空椅子。  
 
更正式地说,如果第i个人坐在第j个椅子上,那么其他任何人都不应该坐在下列椅子上:(j−a[i])%m, (j−a[i]+1)%m,… (j +a[i]−1)%m,  (j +a[i])%m。  
 
是否有可能在给定的限制下,所有人都坐下  。

输入

输入由多个测试用例组成。 第一行包含一个整数t(1≤t≤5⋅10^4)——测试用例的数量。 测试用例的描述如下。  
 
每个测试用例的第一行包含两个整数n和m(2≤n≤10^5,1≤m≤10^9)——人的数量和椅子的数量。  
 
下一行包含n个整数,a1, a2,… An(1≤ai≤10^9)-第i个人两边的最小空椅子数。  
 
保证所有测试用例的n之和不超过10^5。  

输出

对于每个测试用例,如果每个人都可以坐下来完成限制,则打印“YES”(不带引号),否则打印“NO”(不带引号)。  

样例输入 Copy

6
3 2
1 1 1
2 4
1 1
2 5
2 1
3 8
1 2 1
4 12
1 2 1 3
4 19
1 2 1 3

样例输出 Copy

NO
YES
NO
YES
NO
YES

提示

测试用例1:n>m,所以它们不能坐下来。  

 

测试用例2:第一个人可以坐在第2张椅子上,第二个人可以坐在第0张椅子上。 他们都希望两边至少有一把空椅子,1号和3号椅子是空的,所以这是一个很好的解决方案。  

 

测试用例3:如果第二个人在某处坐下,他需要2张空椅子,在他的右侧和左侧,所以不可能为第一个人找到位置,因为只有5张椅子。  

 

测试案例4:可以分别坐在1-st、4-th、7-th的椅子上。