题目描述

Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。

所有 N(1≤N≤20,000) 头奶牛都有一个确定的身高 Hi​(1≤Hi​≤10,000)。设所有奶牛身高的和为S。书架的高度为B,并且保证1≤B≤S<2,000,000,007。

为了够到比最高的那头奶牛还要高的书架顶,奶牛们不得不像演杂技一般,一头站在另一头的背上,叠成一座“奶牛塔”。当然,这个塔的高度,就是塔中所有奶牛的身高之和。为了往书架顶上放东西,所有奶牛的身高和必须不小于书架的高度。

显然,塔中的奶牛数目越多,整座塔就越不稳定,于是奶牛们希望在能够到书架顶的前提下,让塔中奶牛的数目尽量少。 现在,奶牛们找到了你,希望你帮她们计算这个最小的数目。

输入格式

  • 第 1 行: 2 个用空格隔开的整数:N 和 B
  • 第 2..N+12..N+1 行: 第 i+1 行是 1 个整数:Hi​

输出格式

  • 第 1 行: 输出 1 个整数,即最少要多少头奶牛叠成塔,才能够到书架顶部

输入输出样例

输入 #1

6 40
6
18
11
13
19
11

输出 #1

3

说明/提示

输入说明:

一共有6头奶牛,书架的高度为40,奶牛们的身高在6..19之间。

输出说明:

一种只用3头奶牛就达到高度40的方法:18+11+13。当然还有其他方法,在此不一一列出了。

解题思路(个人):

先把每头奶牛的身高放到一个数组里,然后把身高从高到低排序,最后遍历累加,即从高到低的累加,就可以知道至少有多少头就可以够到书架顶部。

AC代码:

#include<bits/stdc++.h>
using namespace std;int a[200050];//从大到小排序,取身高从高到低的相加,就可以知道至少有几头奶牛就可以够到书架顶部
bool cmp(int a, int b){return a > b;
}int main(){int n, b;cin >> n >> b;for (int i = 0; i < n; i++){cin >> a[i];//放进每头奶牛的身高}int sum = 0;sort(a, a + n, cmp);//排序int cnt = 0;for (int i = 0; i < n; i++){sum += a[i];//这是身高从高到低的相加了cnt ++;//循环几次就是有几头奶牛叠加if(sum >= b){//如果够到了就结束输出即可break;}}cout << cnt;return 0;
}

题目来源:洛谷

【洛谷】P2676 [USACO07DEC]Bookshelf B (c++)相关推荐

  1. P2676 [USACO07DEC]Bookshelf B(随缘学习)

    P2676 [USACO07DEC]Bookshelf B(随缘学习) 前言 # 一.题目 **题目描述** Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是 ...

  2. 洛谷 P2676 【USACO 07 DEC】Bookshelf B

    [题目描述] Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书架的顶上还留有一点空间. 所有N(1 <= N ...

  3. 洛谷——P2872 [USACO07DEC]道路建设Building Roads

    P2872 [USACO07DEC]道路建设Building Roads 题目描述 Farmer John had just acquired several new farms! He wants ...

  4. 贪心策略构筑“奶牛铁塔”(洛谷P2676题题解,Java语言描述)

    题目要求 P2676题目链接 分析 哈哈哈,好一个"超级书架"+"奶牛铁塔",哈哈哈-- 这题就是用贪心策略,需要排一个序,然后每次选最高大强壮的奶牛加入&qu ...

  5. 洛谷——P2871 [USACO07DEC]手链Charm Bracelet

    https://www.luogu.org/problem/show?pid=2871 题目描述 Bessie has gone to the mall's jewelry store and spi ...

  6. P2676 [USACO07DEC]Bookshelf B

    题目描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书架的顶上还留有一点空间. 所有 N(1≤N≤20,000 ...

  7. 【OJ】洛谷排序题单题解锦集

    题单简介 题目解析 P1271[深基9.例1]选举学生会 P1177[模板]快速排序 P1923[深基9.例4]求第 k 小的数 P1059 明明的随机数 P1093 奖学金 P1781 宇宙总统 P ...

  8. 【算法1-2】排序(今天刷洛谷了嘛)

    P1271 [深基9.例1]选举学生会 #include<iostream> #include<algorithm> #include<cstdio> #inclu ...

  9. 信息学奥赛一本通 1294:Charm Bracelet | OpenJudge NOI 2.6 7113:Charm Bracelet | 洛谷 P2871

    [题目链接] ybt 1294:Charm Bracelet OpenJudge NOI 2.6 7113:Charm Bracelet 洛谷 P2871 [USACO07DEC]Charm Brac ...

最新文章

  1. 2022-2028年中国地沟油制生物柴油行业市场研究及前瞻分析报告
  2. Kafka配置SASL/PLAIN认证
  3. 怎么用c语言写一个贪吃蛇,刚学C语言,想写一个贪吃蛇的代码
  4. Android 手把手带你玩转自己定义相机
  5. oracle dump enq hw,经典故障分析 - ASSM引发的索引争用与 enq HW -contentio
  6. Django REST framework 版本
  7. 计算机应用技术专业全国排名,计算机应用技术专业全国排名
  8. 江苏省计算机考试Python用书,【关注】Python列入高考内容以及全国计算机等级考试!...
  9. 练习答案-分支与循环-超市买苹果练习-猜数字小游戏
  10. inno setup读取XML文件
  11. [HTML5]使用Box2dWeb模拟射箭效果并添加能量槽
  12. avr的c语言开发工具,AVR单片机的C语言开发简介
  13. Fddb数据集人脸label可视化(matlab)
  14. 写了三年程序,我25了.
  15. python3分解质因数_python3 分解质因数
  16. kafka不消费:9092 (id: 0 rack: null)
  17. QQ语音对方会听到自己电脑声音
  18. 气压曲线软件 android,GPS气压海拔测量
  19. img撑满全屏的方法(img非背景图)
  20. Win10系统电脑玩地平线4闪退解决方法教学

热门文章

  1. 【Pyecharts50例】渐变色散点图/径向渐变/scatter/由圆心向圆周渐变
  2. 解决VBA ADO连接Access2010以上版本密码无效问题
  3. Error: Google Play requires that apps target API level 26 or higher. 两种解决办法
  4. phpcms教程:调用自定义字段的方法
  5. 【221214已更新】S905L(P211)盒子读取OpenWRT固件以及写入emmc教程
  6. 【CUDA并行编程之八】Cuda实现Kmeans算法
  7. CAD怎么转PDF?转换途径说明
  8. 利用opencv拼接图像视频摄像头进行录像
  9. 使用office2013编辑html,office2013软件同时支持多个文档编辑
  10. 无线冲方案 WPC Qi v1.2.4 update