第一题 书架

【问题描述】
为了方便同学们查阅资料,程序设计兴趣小组的辅导老师打算将积攒了很多年的n本书放到上课教室的书架上去。
教室的书架是一层一层叠起来的,每一层最多可以放m本书。每一层的高度由放在这层中最高的那本书决定的,如果不放书,则认为这层的高度为0。为了使每个同学能方便地拿到想要的书,书架的总高度应尽可能低。请编程计算将这n本书放在书架上后书架的最小总高度,计算的过程中不考虑书的厚度与书架本身材料的厚度。
【输入数据】
输入文件bookshelf.in:输入从文件中读取,输入共n+1行。
第1行2个整数n和m (1≤m≤n≤100000) 。
接下来n行,每行1个正整数,分别表示每本书的高度(每本书的高度不超过100)。
【输出数据】
输出文件bookshelf.out:结果输出到文件中,输出共1行,表示将n本书放入书架后书架的最小总高度。
【输入输出样例】
bookshelf.in bookshelf.out
3 2 40
20
10
30
【样例解释】
将高度是30和20的两本书放在一层,则这层的高度为30,将高度是10的那本书放在另外一层,则这层的高度为10,则书架的总高度为40,满足最小。
【数据范围约定】
每本书的高度为不超过100的正整数。
对于70%的数据,1≤m≤n≤1000。
对于100%的数据,1≤m≤n≤100000。
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
bool cmp(int x,int y) {
return x>y;
} //排序时关键字段比较依据 ,降序排序
int x,t,max1,n,m,s,i,a[1000001];
int main(){
freopen(“bookshelf.in”,“r”,stdin);
freopen(“bookshelf.out”,“w”,stdout);
cin>>n>>m;
for(i=1;i<=n;i++) scanf("%d",&a[i]);
sort(a+1,a+n+1,cmp); //排序
for(i=1;i<=n;i++)
if(i%m==1) s=s+a[i];
cout<<s;
return 0;
}

书架bookshelf相关推荐

  1. 书架 bookshelf

    书架 bookshelf 书架 bookshelf 题目描述 当Farmer John闲下来的时候,他喜欢坐下来读一本好书. 多年来,他已经收集了N本书 (1 <= N <= 100,00 ...

  2. [USACO12OPEN]书架Bookshelf

    Description 当农夫约翰闲的没事干的时候,他喜欢坐下来看书.多年过去,他已经收集了 N 本书 (1 <= N <= 100,000), 他想造一个新的书架来装所有书. 每本书 i ...

  3. [慈溪2012]书架(bookshelf)

    题目描述 为了方便同学们查阅资料,程序设计兴趣小组的辅导老师打算将积攒了很多年的n本书放到上课教室的书架上去. 教室的书架是一层一层叠起来的,每一层最多可以放m本书.每一层的高度由放在这层中最高的那本 ...

  4. 洛谷P1848 [USACO12OPEN]书架Bookshelf

    当农夫约翰闲的没事干的时候,他喜欢坐下来看书.多年过去,他已经收集了 N 本书 (1 <= N <= 100,000), 他想造一个新的书架来装所有书. 每本书 i 都有宽度 W(i) 和 ...

  5. python3爬小说_python3小说爬虫

    作为一个很喜欢看书的人,有时候在网页上看小说,会被数不胜数的广告弄的很烦,刚好最近在研究python,就自己写了一个小说爬虫,并用pyqt做了图形界面. 下面介绍一下主要思路,不过就不开源了,因为我的 ...

  6. 每日学一个设计模式1——迭代器模式

    引言 精通设计模式是从码农脱颖而出的条件之一.跟着<图解设计模式>这本书学习设计模式,从今天开始,一天总结一个设计模式. 迭代器模式(一个一个遍历) 用处 隐藏遍历集合的内部结构,遍历不同 ...

  7. 我的世界常用命令和物品名称

    显示玩家坐标: /gamerule showcoordinates true 是显示玩家坐标的指令 区域填充: /fill 坐标 坐标 物品 物品大全: https://minecraft.52pk. ...

  8. python爬虫小说系统_python3小说爬虫

    作为一个很喜欢看书的人,有时候在网页上看小说,会被数不胜数的广告弄的很烦,刚好最近在研究python,就自己写了一个小说爬虫,并用pyqt做了图形界面. 下面介绍一下主要思路,不过就不开源了,因为我的 ...

  9. POJ 3628 Bookshelf 2

    POJ 3628 Bookshelf 2:http://poj.org/problem?id=3628 题意:有个书架,高度为B,现在FJ有N个奶牛,每个奶牛有个高度hi,现在将奶牛堆起来,使得堆起来 ...

最新文章

  1. myeclipse 遇到的一些问题及解决方案
  2. 安装QCreator2.5+Qt4.8.2+MinGW_gcc_4.4
  3. web应用程序和web网站_Web应用程序和移动应用程序的基本启动清单
  4. Android BLE 低功耗蓝牙技术使用解析
  5. 多行显示的UIButton
  6. 链表的建立,搜索,插入,反转,销毁以及合并有序链表。
  7. Yoda 表示法错在哪里
  8. selenium的简单介绍
  9. 前端解读面向切面编程(AOP)
  10. 山东工业大学计算机及应用,彭玉旭副教授
  11. WeChatTweak-微信小助手安装教程
  12. TakeColor 屏幕取色器 8.0 中文绿色版
  13. php微信页面缓存数据,微信页面入口文件被缓存解决方案
  14. [Windows] PPT插件集,部分支持WPS(提高你的制作效率和页面美观)
  15. 手机短信小额支付接口.Net实现
  16. 巴巴运动网学习笔记(76-80)
  17. 融资2500万美元,#Spatial从协作办公进化到元宇宙产品,#NFT创作生态
  18. 超简单的vim配置高亮
  19. 两个和尚的故事【摘】
  20. java线程状态——java线程状态图

热门文章

  1. 京东双11热爱环游记,使用AUTO.JS脚本自动领汪汪币(2021.10.29最新)
  2. 用python函数画德国国旗代码_每日一程-11.利用Python turtle库绘制国旗
  3. Apple Pay 在线远程支付
  4. 匹兹堡计算机科学公司,UPitt的Computer Science「匹兹堡大学计算机科学系」
  5. google pinyin下如何输入英文
  6. SQL注入入侵动网SQL
  7. Python学习笔记:第十三站 接着找对象
  8. 《痛点:挖掘小数据满足用户需求》
  9. idea + groovy + mybatis 自动生成 Dao、mappings 和 实体类
  10. [网络安全技术文章之其一] 给数据科学家的十条数据安全建议