1 条题解

  • 0
    @ 2025-8-24 21:40:20

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Yxa_Sheep
    打表过样例,暴力出奇迹,搜索真牛逼,骗分进省一||深搜 MLE,广搜 TLE,打表 RE,退火又 CE||删掉 display 看主页||被封取关(解封后私信)||六年级蒟蒻 ,代词请用“他”||当前状态:<离线>

    搬运于2025-08-24 21:40:20,当前版本为作者最后更新于2025-08-10 22:31:28,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目传送门

    题意

    nn 头奶牛和书柜高度 bb,给定他们的身高 hih_i,求最少需要多少头奶牛可以达到高度 bb

    思路

    我们可以想到贪心,尽量使用高的奶牛。先将奶牛高度从高到低排序,可以这样写 sort(a + 1, a + n + 1, greater<int>());。再一个一个取,用 sumsum 记录当前高度,直到高度大于等于 bb 为止。

    代码

    #include <bits/stdc++.h>
    using namespace std;
    int n, b, sum, a[20010];
    int main()
    {
        scanf("%d%d", &n, &b);
        for (int i = 1; i <= n; i++)
        	scanf("%d", &a[i]);
        sort(a + 1, a + n + 1, greater<int>());
        for (int i = 1; i <= n; i++)
        {
        	sum += a[i];
        	if (sum >= b)
        	{
        		printf("%d", i);
        		break;
    		}
    	}
    	return 0;
    }
    

    题解来之不易,且看且珍惜。给个赞再走吧。

    题目传送门

    • 1

    信息

    ID
    1720
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者