0
已解决
汪恺恒
中级启示者
中级启示者
题目描述 Description
给定一个正整数数组,长度为N,不打乱其顺序将其分为连续的若干组,每组之和小于等于S,问最少分多少组。
输入描述 Input Description
输入两行,第一行为N与S,用一个空格隔开。第二行为N个正整数。
【数据范围】
对于50%的数据,有N≤1000;
对于100%的数据,有N≤10000,S≤10^9,N个数都不大于S。
输出描述 Output Description
输出最少的划分数。
WA10
#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
using namespace std;
int a[10100];
int n,s,ans,sum;
int main(){
cin>>n>>s;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(sum>=s){
ans++;
sum=0;
}
else{
sum+=a[i];
}
}
cout<<ans+1;
return 0;
}