数列分段 II
题目描述
思路
代码
#include <cstdio>
int n, m, arr[100005], ans;
int l, r, mid, inf = 0x7f3f3f3f;
inline int read() {
	int s = 0, f = 1;
	char ch = getchar();
	while (ch < '0' || ch > '9') {
		if (ch == '-') f = -1;
		ch = getchar();
	}
	while (ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar();
	return s * f;
	return 0;
}
bool valid(int x) {
	int cnt = 0, sum = 0;
	for (int i = 1; i <= n; ++i) {
		if (arr[i] > x) return false;
		if (sum + arr[i] <= x) sum += arr[i];
		else cnt++, sum = arr[i];
	}
	if (sum != 0) cnt++;
	return cnt <= m;
}
int main() {
	n = read(), m = read();
	for (int i = 1; i <= n; ++i) arr[i] = read();
	l = 0, r = inf;
	while (l <= r) {
		mid = l + r >> 1;
		if (valid(mid)) ans = mid, r = mid - 1;
		else l = mid + 1;
	}
	printf("%d", ans);
	return 0;
}
												
											数列分段 II的更多相关文章
- 1436:数列分段II
		
1436:数列分段II 题解 二分答案 我们最终答案的取值区间是[ max(a[i]) , ∑a[i] ] 设定 l=max(a[i]) , r=∑a[i] , mid不断二分 mid表示 ...
 - 数列分段II(信息学奥赛一本通 1436)(洛谷 1182)
		
[题目描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一数列4 2 4 5 1要分成3段 将其如下分段: ...
 - 【模板】【P1182】数列分段II——二分答案
		
题意:给定一列数,分成m段,使每段和的最大值最小. 考虑二分最小段和size,答案显然满足单调性.可以在每次check中累加数列元素判断当前组的总和是否在size以内.由于序列元素均为非负整数,前缀和 ...
 - loj10014数列分段二
		
10014. 「一本通 1.2 练习 1」数列分段 II 题目描述 对于给定的一个长度为 n 的正整数数列 A ,现要将其分成 m 段,并要求每段连续,且每段和的最大值最小. 例如,将数列 4,2,4 ...
 - P1182 数列分段Section II
		
P1182 数列分段Section II 题目描述 对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一数列4 2 ...
 - 洛谷 P1182 数列分段 Section II
		
洛谷 P1182 数列分段 Section II 洛谷传送门 题目描述 对于给定的一个长度为N的正整数数列A-iA−i,现要将其分成M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. ...
 - 洛谷 P1181,1182 数列分段Section
		
数列分段Section I 题目描述 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入输出格式 输入格 ...
 - CCF真题之数列分段
		
201509-1 数列分段 问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数n,表示数列中整数的个数. 第二行包含n个整数a ...
 - FZYZOJ-1578 [NOIP福建夏令营]数列分段
		
P1578 -- [NOIP福建夏令营]数列分段 时间限制:1000MS 内存限制:131072KB 状态:Accepted 标签: 二分 无 无 Descripti ...
 
随机推荐
- circus 进程以及socket 管理工具&&docker运行
			
circus 是由mozilla 团队开发基于python 以及zeromq 的进程以及socket 管理的工具,类似supervisord 但是比supervisord 更灵活方便 来自官方的使用比 ...
 - 使用terraform v0.12 生成gitlab repo 创建部署tf 文件
			
以前写过一个使用模版引擎+ rest 接口的模式,生成tf 文件,v0.12 直接提供了方便的json 处理函数 我们可以直接结合http 以及templatefile providers 方便的 ...
 - 图解CRM(客户关系管理)全流程
			
https://blog.csdn.net/lylmwt/article/details/84921432
 - mysql 表联结,内部联结
			
mysql> select * from user; +------+----------+-----------+ | id | name | address | +------+------ ...
 - 「ZJOI2019」开关
			
传送门 Description 有一些一开始全都是关的开关,每次随机选择一个(每个开关概率不同)开关并改变它的状态,问达到目标状态的期望步数 Solution \(P=\sum_{i=1}^{n}p ...
 - Spring Cloud Ribbon---微服务调用和客户端负载均衡
			
前面分析了Eureka的使用,作为服务注册中心,Eureka 分为 Server 端和 Client 端,Client 端作为服务的提供者,将自己注册到 Server 端,Client端高可用的方式是 ...
 - codeDecodeError ascii codec can't decode byte 0xe2 in position 44 ordinal not in range(128)
 - freemarker null异常详解及兼容模式
			
在读取user的时候,因为为空,报错了,错误处的代码是这样的 <#if user> 其实准确的写法应该是 <#if user??> 如果要消除错误,需要把前端代码修后成后面这种 ...
 - 《精通CSS第3版》(3)可见格式化模型+(4)网页排版
 - CefSharp 提示 flash player is out of date 运行此插件 等问题解决办法
			
CefSharp 提示 flash player is out of date 或者 需要手动右键点 运行此插件 脚本 等问题解决办法 因为中国版FlashPlayer变得Ad模式之后,只好用旧版本的 ...