C++:书架

描述

John最近买了一个书架用来存放奶牛养殖书籍,但书架很快被存满了,只剩最顶层有空余。

John共有N头奶牛(1 ≤ N ≤ 20,000),每头奶牛有自己的高度Hi(1 ≤ Hi ≤ 10,000),N头奶牛的总高度为S。书架高度为B(1 ≤ B ≤ S < 2,000,000,007).

为了到达书架顶层,奶牛可以踩着其他奶牛的背,像叠罗汉一样,直到他们的总高度不低于书架高度。当然若奶牛越多则危险性越大。为了帮助John到达书架顶层,找出使用奶牛数目最少的解决方案吧。

输入

第1行:空格隔开的整数N和B

第2~N+1行:第i+1行为整数Hi

输出

能达到书架高度所使用奶牛的最少数目

样例输入

6 40

6

18

11

cpp 复制代码
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
    int N,B;
    cin >> N>>B;
    vector<int>cowh(N);
    int heightsum = 0,cownum=0;
    for (int i = 0; i <N; i++)
    {
        cin >> cowh[i];
    }
    sort(cowh.begin(), cowh.end());
    for (int j = N-1; j >=0; j--)
    {
        heightsum += cowh[j];
        cownum++;
        if (heightsum >= B)
        {
            cout << cownum << endl;
            break;
        }
    }
    return 0;
}

13

19

11

【样例输出】

3

相关推荐
Trouvaille ~3 分钟前
零基础入门 LangChain 与 LangGraph(五):核心组件上篇——消息、提示词模板、少样本与输出解析
人工智能·算法·langchain·prompt·输入输出·ai应用·langgraph
枫叶丹410 分钟前
【HarmonyOS 6.0】ArkWeb PDF预览回调功能详解:让PDF加载状态可控可感
开发语言·华为·pdf·harmonyos
2401_8414956416 分钟前
Linux C++ TCP 服务端经典的监听骨架
linux·网络·c++·网络编程·ip·tcp·服务端
春栀怡铃声17 分钟前
【C++修仙录02】筑基篇:类和对象(中)
c++
MOON404☾21 分钟前
Chapter 002. 线性回归
算法·回归·线性回归
小陈工22 分钟前
数据库Operator开发实战:以PostgreSQL为例
开发语言·数据库·人工智能·python·安全·postgresql·开源
耿雨飞23 分钟前
Python 后端开发技术博客专栏 | 第 07 篇 元类与类的创建过程 -- Python 最深层的魔法
开发语言·python
qq_120840937124 分钟前
Three.js AnimationMixer 工程实战:骨骼动画、剪辑切换与时间缩放
开发语言·javascript·ecmascript
Dxy123931021632 分钟前
Python在图片上画多边形:从简单轮廓到复杂区域标注
开发语言·python
楼田莉子35 分钟前
同步/异步日志系统:日志器管理器模块\全局接口\性能测试
linux·服务器·开发语言·c++·后端·设计模式