题目一看就是贪心。C++福利来了:sort。
基本思路就是:要使奶牛最少那么肯定高的奶牛先啦。
直接排序一遍(从高到矮)然后while,搞定!
#include<bits/stdc++.h> #define ll long long using namespace std; ll N,B,H[20010]; bool cmp(int x,int y){return x>y;} int main(){ scanf("%lld%lld",&N,&B); for(int i=1;i<=N;i++) scanf("%lld",&H[i]); sort(H+1,H+1+N,cmp); int ans=1,sum=H[1]; while(sum<B){ ans++; sum+=H[ans]; } printf("%lld\n",ans); return 0; }
原文地址:https://www.cnblogs.com/yzx1798106406/p/9038062.html
时间: 2024-11-02 09:24:20