PASCAL 数列分段用PASCAL语言写.顺便说下思路.【问题描述】对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小.关于最大值最小:例如一
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 00:43:52
![PASCAL 数列分段用PASCAL语言写.顺便说下思路.【问题描述】对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小.关于最大值最小:例如一](/uploads/image/z/5168857-49-7.jpg?t=PASCAL+%E6%95%B0%E5%88%97%E5%88%86%E6%AE%B5%E7%94%A8PASCAL%E8%AF%AD%E8%A8%80%E5%86%99.%E9%A1%BA%E4%BE%BF%E8%AF%B4%E4%B8%8B%E6%80%9D%E8%B7%AF.%E3%80%90%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0%E3%80%91%E5%AF%B9%E4%BA%8E%E7%BB%99%E5%AE%9A%E7%9A%84%E4%B8%80%E4%B8%AA%E9%95%BF%E5%BA%A6%E4%B8%BAN%E7%9A%84%E6%AD%A3%E6%95%B4%E6%95%B0%E6%95%B0%E5%88%97A%5Bi%5D%2C%E7%8E%B0%E8%A6%81%E5%B0%86%E5%85%B6%E5%88%86%E6%88%90M%EF%BC%88M%E2%89%A4N%EF%BC%89%E6%AE%B5%2C%E5%B9%B6%E8%A6%81%E6%B1%82%E6%AF%8F%E6%AE%B5%E8%BF%9E%E7%BB%AD%2C%E4%B8%94%E6%AF%8F%E6%AE%B5%E5%92%8C%E7%9A%84%E6%9C%80%E5%A4%A7%E5%80%BC%E6%9C%80%E5%B0%8F.%E5%85%B3%E4%BA%8E%E6%9C%80%E5%A4%A7%E5%80%BC%E6%9C%80%E5%B0%8F%EF%BC%9A%E4%BE%8B%E5%A6%82%E4%B8%80)
PASCAL 数列分段用PASCAL语言写.顺便说下思路.【问题描述】对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小.关于最大值最小:例如一
PASCAL 数列分段
用PASCAL语言写.顺便说下思路.
【问题描述】
对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小.
关于最大值最小:
例如一数列4 2 4 5 1要分成3段
将其如下分段:
[4 2][4 5][1]
第一段和为6,第2段和为9,第3段和为1,和最大值为9.
将其如下分段:
[4][2 4][5 1]
第一段和为4,第2段和为6,第3段和为6,和最大值为6.
并且无论如何分段,最大值不会小于6.
所以可以得到要将数列4 2 4 5 1要分成3段,每段和的最大值最小为6.
【输入文件】
输入文件divide_b.in的第1行包含两个正整数N,M,第2行包含N个空格隔开的非负整数A[i],含义如题目所述.
【输出文件】
输出文件divide_b.out仅包含一个正整数,即每段和最大值最小为多少.
【样例输入】
5 3
4 2 4 5 1
【样例输出】
6
【数据规模与约定】
对于20%的数据,有N≤10;
对于40%的数据,有N≤1000;
对于100%的数据,有N≤100000,M≤N,A[i]之和不超过109.
PASCAL 数列分段用PASCAL语言写.顺便说下思路.【问题描述】对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小.关于最大值最小:例如一
师大附中的题吧
var
a:array[0..100000] of longint;
n,k,min,max,ans:longint;
//
begin
assign(input,'divide_b.in');
reset(input);
assign(output,'divide_b.out');
rewrite(output);
init;
search;
print;
close(input);
close(output);
end.
思路汤哥的PPT有呀 就是二分