最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 数列分段

C++ 少儿编程 1129浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

【题目描述】

对于给定的一个长度为$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^9$,$M$大于所有数的最小值,$A[i]$之和不超过$10^9$。

您必须 登录 才能发表评论!