https://loj.ac/problem/10006 题目描述 对于给定的一个长度为N 的正整数数列 ,现要将其分成连续的若干段,并且每段和不超过M ,求最小分的段数。 思路 这题简单到没有任何技巧,扫一遍,
https://loj.ac/problem/10006
题目描述
对于给定的一个长度为N的正整数数列,现要将其分成连续的若干段,并且每段和不超过M,求最小分的段数。
思路
这题简单到没有任何技巧,扫一遍,超过M就统计答案。
代码
#include <bits/stdc++.h> using namespace std; int a[100100]; int main() { int n,m; scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%d",&a[i]); int s=0,ans=1; for(int i=0;i<n;i++) { s+=a[i]; if(s>m) { s=a[i]; ans++; } } printf("%d",ans); return 0; }