洛谷——P2676 [USACO07DEC] Bookshelf B

Posted on   奇诺qwq  阅读(28)  评论(0编辑  收藏  举报

 

 

思路:(贪心&排序)

1、升序排序数组,优先选择身高max的奶牛

2、选择一只奶牛的同时,用ans记录数量

 

复制代码
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        int n = sc.nextInt();
        long B = sc.nextInt();
        long[] arr = new long[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        Arrays.sort(arr);
        long S = 0;//总身高
        int j=n-1,ans=0;
        while(S<B&&j>0){//j从大到小
            S+=arr[j--];
            ans++;
        }
        System.out.println(ans);
    }
}
复制代码

 

相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示