Loading

洛谷P2676 超级书架 题解

题目传送门

题目一看就是贪心。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;
}
posted @ 2018-05-14 20:48  yzx_1798106406  阅读(287)  评论(0编辑  收藏  举报