理工学院的枇杷快熟了,ok,大家都懂得。而且大家都知道,学校的枇杷树都是一列一列的。现在小Y同学已经在筹划怎么摘枇杷了。现在我们假设有一列枇杷树,而且每棵枇杷树上枇杷果的数量小Y都已经知道了。

假设现在有n棵枇杷树,小Y可以把这n棵枇杷树分成m组,每组枇杷果的数量是这组内每棵枇杷树上枇杷果数量的和。注意,每组的枇杷树必须是连续的。(每组最少1棵树,最多n棵树)。小Y把枇杷往寝室拿的时候是一组一组拿的,所花费的力气等于这m组中枇杷果最多的那组枇杷果的数量。现在小Y想花尽量少的力气把这些枇杷果拿回寝室。

Input

多组测试数据,以EOF结束(<= 100组)
每组测试数据第一行有两个数n(n <= 1000)和m(1 <=m <= n)
第二行有n个数,分别代表每颗树上枇杷果的数量

Output

输出小Y同学所花费的最小的力气,每个结果占一行。

Sample Input

3 2
1 2 3
7 5
1 4 3 1 5 2 4

Sample Output

3
5

AC代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int a[1010];
int n,m;
int M,ans;
int jude(int x){int i,s,ant;s=ant=0;for(i=0;i<n;i++){if(a[i]>x)return 0;if(s+a[i]>x){   //把当前元素与前面的元素连上,以便尽量往右划分,如果大于,不能再把当前元素加上了 ant++;      //在此分段 s=a[i];if(ant>m-1)return 0;}else s+=a[i];}return 1;
}
int Berach(int l,int r){while(l<=r){int mid=(l+r)/2;if(jude(mid))r=mid-1;else l=mid+1;}return l;
}
int main()
{int i;while(cin>>n>>m){M=ans=0;for(i=0;i<n;i++){cin>>a[i];M=max(M,a[i]);ans+=a[i];}cout<<Berach(M,ans)<<endl;}
}

摘枇杷(最大值最小化)相关推荐

  1. Monthly Expense POJ - 3273(二分最大值最小化)

    Farmer John is an astounding accounting wizard and has realized he might run out of money to run the ...

  2. leetcode 二分法 最大值最小化/最小值最大化

    一.(leetcode 410)分割数组的最大值 题目描述: 给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组.设计一个算法使得这 m 个子数组各自和的最大值最小. 代 ...

  3. 【算法 | 实验8】分配最小页数(数组划分和最大值最小化问题)

    文章目录 题目 问题分析与算法设计思路 思路1:类似枚举的分治(暴力) 思路2:二分法 算法实现(C++) 思路1实现 思路2实现 bug记录 1.子问题对最大值没有实现最小化 2.保存的最大值是局部 ...

  4. uva 714 Copying Books(二分法求最大值最小化)

    题目连接:714 - Copying Books 题目大意:将一个个数为n的序列分割成m份,要求这m份中的每份中值(该份中的元素和)最大值最小, 输出切割方式,有多种情况输出使得越前面越小的情况. 解 ...

  5. 最大值最小化(网易有道2013年校园招聘面试一面试题)

    题目描述: 在印刷术发明之前,复制一本书是一个很困难的工作,工作量很大,而且需要大家的积极配合来抄写一本书,团队合作能力很重要. 当时都是通过招募抄写员来进行书本的录入和复制工作的, 假设现在要抄写m ...

  6. 蓝桥试题 算法提高 打包(二分法,最大值最小化)

    资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 Lazy有N个礼物需要打成M个包裹,邮寄给M个人,这些礼物虽然很便宜,但是很重.Lazy希望每个人得到的礼物的编号都是连续的.为了 ...

  7. 贪心算法之——摘枇杷(nyoj680)(贪心+二分搜索)

    问题: 摘枇杷 时间限制: 2000 ms  |  内存限制: 65535 KB 难度: 3 描述 理工学院的枇杷快熟了,ok,大家都懂得.而且大家都知道,学校的枇杷树都是一列一列的.现在小Y同学已经 ...

  8. 最大化最小值 | | 最小化最大值

    最小化最大值. 和"河中跳房子","Agressive Cows"等最大化最小值问题正好相反的最小化最大值问题,同样用二分解决,原理基本相同,差别主要在C条件的 ...

  9. 最大化最小值和最小化最大值

    最小化最大值是为了压制优化目标中表现最突出的成分,最大化最小值为了提升优化目标中表现最差的成分 关于这两者的理解,我觉得这篇博文讲得非常好,浅显易懂又联系实际. 理解问题后,就要思考如何解决问题. 记 ...

最新文章

  1. 【仿去哪儿】骆驼动画加载
  2. 在Debian 上安装php zip扩展
  3. Dominant Indices(CF 1009 F)
  4. 万能makefile深入浅出 - 第三篇
  5. linux本地mysql与服务器同步数据_linux下指定mysql数据库服务器主从同步的配置实例...
  6. c语言中去掉最小值,2020-07-12(C语言)从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。...
  7. 业绩上不去,老板和业务员都有责任,但首先要划分清楚责任
  8. 【转】Android自动化测试(UiAutomator)简要介绍
  9. SPSS 25软件安装教程
  10. 【食安云桥】python 文件内批量长度除以3.5替换
  11. 电流、电压、功率的计算方式
  12. 计算机设计贺卡教案,《运用Word制作电子贺卡》教学设计
  13. ios播放器横竖屏切换的问题
  14. cobalt strick 4.0 系列教程(4)---监听器和基础设施管理
  15. 一瑞士法郎是多少人民币
  16. Crate 数据库安装与使用
  17. 小红书最新用户量数据_近半年DAU峰回路转 重新审视小红书用户价值
  18. Caching best practices max-age
  19. Merriam-Webster's Vocabulary Builder 学习笔记 Unit 18
  20. 注意力机制——Spatial Transformer Networks(STN)

热门文章

  1. oracle触发器insert
  2. 把exe的flash还原成swf
  3. 数控模组化生产流水线综合系统QY-JDYT25
  4. python数据分类聚类案例_python 文本聚类分析案例——从若干文本中聚类出一些主题词团...
  5. 【电脑运用及修理】Mozilla Firefox 浏览器
  6. MATLAB--数字图像处理 添加椒盐噪声
  7. 汉字八大基本笔画-东方星书法艺术
  8. 网络通信过程-非常详细
  9. 微信小程序原生开发 记录
  10. jQuery Masonry构建pinterest网站布局注意要点(转)