3291 - 数列分段

题目描述

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

输入

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

输出

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

样例

输入

5 6
4 2 4 5 1

输出

3
说明

提示

对于20\%的数据,有N≤10

对于40\%的数据,有N≤1000

对于100\%的数据,有N≤100000,M≤10^9M大于所有数的最大值,A_i之和不超过10^9

将数列如下划分:

[4][2 4][5 1]

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

题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 96
通过人数 54
金币数量 3 枚
难度 基础


上一题 下一题