P2676 [USACO07DEC]Bookshelf B
题目描述
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相关推荐
- P2676 [USACO07DEC]Bookshelf B(随缘学习)
P2676 [USACO07DEC]Bookshelf B(随缘学习) 前言 # 一.题目 **题目描述** Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是 ...
- 【洛谷】P2676 [USACO07DEC]Bookshelf B (c++)
题目描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书架的顶上还留有一点空间. 所有 N(1≤N≤20,000 ...
- 排序——[USACO07DEC]Bookshelf B
排序--[USACO07DEC]Bookshelf B 题目描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书 ...
- (Java) [USACO07DEC]Bookshelf B
[USACO07DEC]Bookshelf B 题目描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书架的顶上 ...
- 【快速排序】—— [USACO07DEC]Bookshelf B
快速排序方法 背景 快速排序(Quicksort)是对冒泡排序的一种改进,它由C. A. R. Hoare在1960年提出,其基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有 ...
- ACM寒假训练第二周总结
时间:2022.1.17--2022.1.23 一.刷题记录 1. P1271 [深基9.例1]选举学生会 using namespace std; int a[1005]={0}; int main ...
- 【OJ】洛谷排序题单题解锦集
题单简介 题目解析 P1271[深基9.例1]选举学生会 P1177[模板]快速排序 P1923[深基9.例4]求第 k 小的数 P1059 明明的随机数 P1093 奖学金 P1781 宇宙总统 P ...
- 【算法1-2】排序(今天刷洛谷了嘛)
P1271 [深基9.例1]选举学生会 #include<iostream> #include<algorithm> #include<cstdio> #inclu ...
- 1177: 按要求排序(指针专题)_L2算法基础第10课 排序中
L2-算法基础-第10课 排序中 排序 归并排序 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法.该算法是采用分治法(Divide and Conquer)的一个非常典型的应用 ...
最新文章
- ITS智能交通监控系统技术解析
- 认识HTML5的WebSocket 认识HTML5的WebSocket
- pandas 读写 excel 数据
- Spring_day02--Spring的aop操作
- 过来人经验!聊聊前端工程师的职业规划
- which oracle linux,(总结)Linux下Oracle11gR2的ORA-00845错误解决方法
- 精通Python网络爬虫:核心技术、框架与项目实战.3.2 爬行策略
- android listview下拉刷新动画,android 安卓 listview 支持下拉刷新 上拉加载更多
- thinkphp __hash__
- A1113 | Integer Set Partition (25)
- SQL Server 由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN xxx 失败问题解决
- [转载]Swift GYB
- python requests详解
- 1096:数字统计(信奥)
- 实现strstr()函数
- 解决chrome下textarea控件滚动条不好使情况
- SpringBoot运行主程序报错:No subdirectories found for mandatory directory location ‘file:./config/*/‘.
- oracle安装成功验证
- 畅言普通话软件测试准确率高吗,畅言普通话测试准确吗?畅言普通话准确度介绍...
- 亿级DAU产品 今日头条深圳研发中心火热招聘中 校招/社招