九度教程---------24

来源:互联网 发布:人工智能 智慧城市 ppt 编辑:程序博客网 时间:2024/04/29 04:06

九度教程第二十四题

#include <stdio.h>#include <algorithm>using namespace std;bool cmp(const int &a, const int &b){        return a > b;}int main(){        int L, N, p[601];        while(~scanf("%d %d", &L, &N))        {                for(int i = 0;i < N;i ++)                   scanf("%d", &p[i]);                 sort(p, p + N, cmp);                 int sum = p[0], cnt = 1;                 for(int i = 1;i < N;i ++)               {                           if(sum >= L)                            {                                                                        break;                            }              sum += p[i];             cnt ++;                   }                   if(sum < L)                      printf("impossible\n");                   else                   printf("%d\n", cnt);                                                     }        return 0;}
ps:此题是贪心策略,一直没注意cnt的情况,导致最多输出为N-1,导致总是WA,最终在学长的提示下才终于改对委屈