1206: 数列分段

内存限制:128 MB 时间限制:1.000 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:11 通过:6 通过率:54.545%

题目描述

对于给定的一个长度为 N 的正整数数列 Ai,现要将其分成连续的若干段,并且每段和不超过 M(可以等于 M ),问最少能将其分成多少段使得满足要求。

输入格式

第1行包含两个正整数 N,M,表示了数列 Ai 的长度与每段和的最大值,第2行包含 N 个空格隔开的非负整数 Ai,如题目所述。

输出格式

一个正整数,输出最少划分的段数。 

输入样例 复制

5 6
4 2 4 5 1

输出样例 复制

3

数据范围与提示

对于 20% 的数据,有 N<= 10

对于 40% 的数据,有 N <= 1000

对于 100% 的数据,有 N<= 1000000,M<=109大于所有数的最小值,Ai 之和不超过109

将数列如下划分:

[4][24][51]

第 1 段和为 4 ,第 段和为 6 ,第 段和为 6 均满足和不超过  M = 6,并可以证明 3 是最少划分的段数。