2018 计蒜之道 初赛 第六场 贝壳找房

#include <bits/stdc++.h>
using namespace std;
const int N=1e4+5; 
int n,m;
int a[N];
int main()
{
memset(a,0,sizeof(a)); 
scanf("%d",&n);
while(n--)
{

scanf("%d",&m);
for(int i=0;i<m;i++)
{
int tp; scanf("%d",&tp); 
   a[i]=tp;
}
sort(a,a+m); int flag=1,jud=1,j=0; 
            int k=1;
while(j<m)
{
if(jud<a[j])
{
jud=jud+k+2; k++;
}
if(jud>a[j])
{
flag=0; break;
}
if(jud==a[j]&&a[j+1]!=a[j])
{
j++; jud=jud+k+2; k++;
}else if(jud==a[j])
       j++;
}  
if(flag)printf("yes\n");
else printf("no\n");
}
return 0;
 } 

猜你喜欢

转载自blog.csdn.net/qq_41603898/article/details/80468750
今日推荐