题目描述

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

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

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

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

输入格式

第 1 行: 2 个用空格隔开的整数:N 和 B
第 2…N+1 行: 第 i+1 行是 1 个整数:H i

输出格式

输入模块

6 40
6
18
11
13
19
11

输出格式

输出模块

3

说明/提示

输入说明:

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

输出说明:

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

解题思路

输入后进行排序,从最后一个开始进行累计和,并与给出的数字进行对照,当所给数和累加的和的差为负时,即为最大奶牛个数

代码示例如下:

// Online C++ compiler to run C++ program online
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#define T 100005
typedef long long ll;
int H[T];
int main() {// Write C++ code herell B,S;int N;scanf("%d %lld",&N,&B);for(int i = 0;i<N;i++){std::cin>>H[i];}int temp = 0;for(int j= 0;j<N;j++){for(int k = j+1;k<N;k++){if(H[j]>H[k]){temp = H[j];H[j] = H[k];H[k] = temp;}}}int temi = 0;int number = B;for(int m = N-1;m>0;m--){number = number - H[m];temi ++;if(number < 0)break;}std::cout<<temi;return 0;
}

P2676 [USACO07DEC]Bookshelf B相关推荐

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

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

  2. 【洛谷】P2676 [USACO07DEC]Bookshelf B (c++)

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

  3. 排序——[USACO07DEC]Bookshelf B

    排序--[USACO07DEC]Bookshelf B 题目描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书 ...

  4. (Java) [USACO07DEC]Bookshelf B

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

  5. 【快速排序】—— [USACO07DEC]Bookshelf B

    快速排序方法 背景 快速排序(Quicksort)是对冒泡排序的一种改进,它由C. A. R. Hoare在1960年提出,其基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有 ...

  6. ACM寒假训练第二周总结

    时间:2022.1.17--2022.1.23 一.刷题记录 1. P1271 [深基9.例1]选举学生会 using namespace std; int a[1005]={0}; int main ...

  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. 1177: 按要求排序(指针专题)_L2算法基础第10课 排序中

    L2-算法基础-第10课 排序中 排序 归并排序 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法.该算法是采用分治法(Divide and Conquer)的一个非常典型的应用 ...

最新文章

  1. ITS智能交通监控系统技术解析
  2. 认识HTML5的WebSocket 认识HTML5的WebSocket
  3. pandas 读写 excel 数据
  4. Spring_day02--Spring的aop操作
  5. 过来人经验!聊聊前端工程师的职业规划
  6. which oracle linux,(总结)Linux下Oracle11gR2的ORA-00845错误解决方法
  7. 精通Python网络爬虫:核心技术、框架与项目实战.3.2 爬行策略
  8. android listview下拉刷新动画,android 安卓 listview 支持下拉刷新 上拉加载更多
  9. thinkphp __hash__
  10. A1113 | Integer Set Partition (25)
  11. SQL Server 由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN xxx 失败问题解决
  12. [转载]Swift GYB
  13. python requests详解
  14. 1096:数字统计(信奥)
  15. 实现strstr()函数
  16. 解决chrome下textarea控件滚动条不好使情况
  17. SpringBoot运行主程序报错:No subdirectories found for mandatory directory location ‘file:./config/*/‘.
  18. oracle安装成功验证
  19. 畅言普通话软件测试准确率高吗,畅言普通话测试准确吗?畅言普通话准确度介绍...
  20. 亿级DAU产品 今日头条深圳研发中心火热招聘中 校招/社招

热门文章

  1. Blazor在IoT领域的前端实践 @.NET开发者日
  2. 寻找三体文明:五环外4.2光年发现液态水,或许另一个宜居星球
  3. Docker部署微服务应用笔记(三)
  4. Mac安装redis并设置开机自启动
  5. 手把手阿里云企业邮箱设置教程三步搞定
  6. Ubuntu 系统备份为ISO
  7. Ubuntu1804 使用mondorescue 进行系统备份iso制作
  8. 微信用户授权及企业付款
  9. 野蔷薇的伤感人生日志:已失落于尘埃,再也找寻不得
  10. 谢文的yiqi有戏没?