求最大连续和长度

直接上代码:

#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=1e6+5;
typedef long long ll;
int a[maxn];
int main() {
	int n,t;
	cin>>n>>t;
	int sum=0,l=1,ans=0;
	for(int i=1; i<=n; i++){
		cin>>a[i];
		sum+=a[i];
		if(sum>t)sum-=a[l],l++;
		ans=max(ans,i-l+1);
	}
	cout<<ans<<endl;
}

猜你喜欢

转载自blog.csdn.net/Alanrookie/article/details/106889126