奥赛一本通 1428 数列分段

1428 数列分段

题目大意

将一个正整数序列分成连续的几段,每段的总和都不超过给定值 $m$,求最少分为几段。

知识要点

贪心

解题思路

让一段里包含的数尽可能多。

参考代码

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, m, x, ans = 1, sum = 0;
    scanf("%d%d", &n, &m);

    while(n--) {
        scanf("%d", &x);
        if((sum += x) > m) sum = x, ans++;
    }
    printf("%d\n", ans);
    return 0;
}

posted @ 2026-09-02 09:20  萧西待水  阅读(4)  评论(0)    收藏  举报