题目1436:Repair the Wall

来源:互联网 发布:网络机柜装置 编辑:程序博客网 时间:2024/06/07 23:52
#include<stdio.h>#include<algorithm>using namespace std;int main(){     long L;int N;    while(scanf("%ld%d",&L,&N)!=EOF)    {        int i,a[601];        for(i=0;i<N;i++)        {           scanf("%d",&a[i]);        }        sort(a,a+N);        bool flag=false;     long sum=0;int ans=0;        for(i=N-1;i>=0;i--)        {            if(sum+a[i]<=L)            {                sum+=a[i];                ans++;                if(sum==L)                {                    flag=true;                    break;                }            }            else            {ans++;flag=true;            break;}        }        if(flag==true)        {            printf("%d\n",ans);        }        if(flag==false)            printf("impossible\n");      }    return 0;}/**************************************************************    Problem: 1436    User: cust123    Language: C++    Result: Accepted    Time:10 ms    Memory:1020 kb****************************************************************/

0 0