XYOJ1246: Repair the Wall

题目信息

#include<stdio.h>
#include<algorithm>
using namespace std;
bool complare (int a,int b)
{
    return a>b;
}
int main()
{
    int i,a[600],l,n;
    while(scanf("%d%d",&l,&n)!=EOF)
    {
        int sum=0,j=0;
        for(i=0;i<n;i++)
        scanf("%d",&a[i]);
        sort(a,a+n,complare);
        if(a[0]>=l)
        {
        j=1;printf("%d\n",j);
        }
        else if(a[0]<l)
        {
        for(i=0;i<n;i++)
        {
            sum=sum+a[i];
            if(sum>=l)
            {
            j=i+1;printf("%d\n",j);break;
            }
        }
        if(sum<l)printf("impossible\n");
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39564498/article/details/81206133