题意:

输入一个N和B N为牛的个数,B为高度,然后输入N头牛,为最少多少头牛加起来高度大于B

解题思路:

排序,贪心

具体代码:

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
    int n,b;
    int num[20005];
    int sum=0;
    cin>>n>>b;
    for(int i=0;i<n;i++)
        cin>>num[i];
    sort(num,num+n);
    int xx=n;
    while(sum<b)
    {   
        xx--;
        sum+=num[xx];
    }
    cout<<n-xx<<endl;
   // system("pause");
    return 0;
}
View Code

 

posted on 2014-05-17 18:38  903SW-BAO  阅读(189)  评论(0编辑  收藏  举报