HDU 1205

来源:互联网 发布:电脑windows无法启动 编辑:程序博客网 时间:2024/05/19 17:50

要想隔开,考虑有一个种类,其他的所有都不够放进这类间隔,也就是不能出现种类比总量的一半加一还大,设这类为a个,总共有n个,n-a+1是一个极限,if(n-a+1<a)则一定有分不开的,结果是NO

#include<stdio.h>int main (){    long sum,a[1000000];    int nm,i,j,e,n,m;    scanf("%d",&n);    while(n--)    {        scanf("%d",&m);        sum=0;        for(j=0; j<m; j++)        {            scanf("%d",&nm);            sum+=nm;            a[j]=nm;        }        e=0;        for(j=0; j<m; j++)        {            if(sum-a[j]<a[j]-1)            {                printf("No\n");                e++;                break;            }        }        if(e==0)            printf("Yes\n");    }    return 0;}


3 0
原创粉丝点击