社区讨论

80分求调

P1115最大子段和参与者 3已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mkgn9kmb
此快照首次捕获于
2026/01/16 16:56
上个月
此快照最后确认于
2026/01/18 20:05
上个月
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
long long a[99999999],n,i,ans,len,tmp,beg;
int main(){
	cin >> n;
	for(i=1;i<=n;i++)
		cin >> a[i];
	tmp=0;
	ans=0;
	len=0;
	beg=0;
	for(i=1;i<=n;i++){
		if(tmp+a[i]>ans){
			ans=tmp+a[i];
			len=i-beg;
		}
		else if(tmp+a[i]==ans&&i-beg>len)
			len=i-beg;
		if(tmp+a[i]<0){
			beg=i;
			tmp=0;
		}
		else
			tmp=tmp+a[i];
	}
	cout << ans;
	return 0;
}

回复

7 条回复,欢迎继续交流。

正在加载回复...