洛谷 P1181 数列分段 Section I

从左往右遍历,找到小于等于M的序列。

AcCode:

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int a[100010];
int main(){
    int n, m, ans = 0, t = 0;
    cin >> n >> m;
    for(int i = 0; i < n; i++) cin >> a[i];
    t = a[0];
    for(int i = 0; i < n - 1;){
    	if(t + a[i + 1] > m) i++;
    	while(t + a[i + 1] <= m && i < n - 1){
    		t += a[i + 1];
    		i++;
		}
		t = 0;
		ans++;
	}
	cout << ans;
    return 0;
}

posted @ 2025-05-09 11:53  Yuhhhhh  阅读(4)  评论(0)    收藏  举报