博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AOJ 802.运输宝物
阅读量:4878 次
发布时间:2019-06-11

本文共 1481 字,大约阅读时间需要 4 分钟。

Time Limit: 1000 ms   Case Time Limit: 1000 ms   Memory Limit: 64 MB
Total Submission: 53   Submission Accepted: 22
Description
众所周知,“西瓜”是大名鼎鼎的江洋大盗。有一次他偷到了一批宝库。
这批宝物共有n个,他一共有k个箱子。他只能用这些箱子把这些宝物运出去,为了保证运输安全,他不会把两个以上的宝物装入同一个箱子(一个箱子只能装1个或者2个宝物)。这些宝物的大小分别是s(1)、s(2)、s(3)……s(n)。(题目给出的重量保证是非降序,即s(i-1)<=s(i) 对于任何i>1)。
装进宝物后,每个箱子的容量要大于或者等于所装的宝物大小之和。为了规格统一,这些箱子每个的容量要一致。为了降低运费,箱子的容量要尽可能小。“西瓜”想要知道,在能运走的情况下,箱子容量最小是多少。

 

Input
多组输入
先输入n和k (1≤n≤2·k≤100 000),n是宝物数量,k是箱子数量。
下一行输入空格分隔的n个整数, s1,s2,...,sn (1≤s1≤s2≤...≤sn≤1 000 000),代表这些宝物的重量。

 

Output
输出一个整数,代表这些箱子容量的最小值。

 

Sample Input
Original Transformed
4 32 3 5 9

 

Sample Output
Original Transformed
9

 

 只需将宝物按照从大到小装箱,然后再将剩下的宝物按照从大到小装入从小到大的箱子中

最后求出所有箱子中最大值即可

 

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 using namespace std;13 14 #define debug 015 16 /*17 By:OhYee18 Github:OhYee19 Email:oyohyee@oyohyee.com20 Blog:http://www.cnblogs.com/ohyee/21 22 かしこいかわいい?23 エリーチカ!24 要写出来Хорошо的代码哦~25 */26 #define REP(n) for(int o=0;o
=n){40 printf("%d\n",s[n-1]);41 return true;42 }43 44 int w[maxk];45 REP(k){46 w[o]=s[n-k+o];47 }48 49 #if debug50 REP(n)51 printf("s[%d]=%d\n",o,s[o]);52 printf("\n");53 REP(k)54 printf("w[%d]=%d\n",o,w[o]);55 printf("\n");56 #endif // debug57 58 for(int i=0;i

 

转载于:https://www.cnblogs.com/ohyee/p/5375126.html

你可能感兴趣的文章
COJ 1003 WZJ的数据结构(三)ST表
查看>>
sbrk and coreleft
查看>>
树型DP
查看>>
怎么在ubuntu上使用pidgin登陆QQ
查看>>
思维的惰性
查看>>
2018-2019-2 网络对抗技术 20165115 Exp3 免杀原理与实践
查看>>
【Android】学习记录<1> -- 初识ffmpeg
查看>>
定位页面元素的位置
查看>>
关于IAsyncResult接口的CompletedSynchronously属性
查看>>
Python:一篇文章掌握Numpy的基本用法
查看>>
序列化与ArrayList 的elementData的修饰关键字transient
查看>>
学习进度17
查看>>
编译原理——算符优先分析文法(附源代码)
查看>>
jboss的启动过程
查看>>
渲染部分
查看>>
力扣——所有可能的路径
查看>>
关于VS项目平台的x86,x64,Any CPU以及Debug和Release的区别
查看>>
解密module_init幕后的故事
查看>>
9个移动网站优化的最佳实践
查看>>
李昌镐:苍老的青春(转载) 韩国围棋职业棋手
查看>>