题解
2025-08-20 15:03:46
发布于:广东
3阅读
0回复
0点赞
创建一个sum存储临时答案,mx存储最后答案
在遍历时可以选择加上下一个或者以这个这开始从头再来(因为需要连续的一段)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,mx=-1e9,sum=0;//mx存储最后的答案
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
if(i==1){
sum=max(sum,x);//初始化
//max是因为可能出现第一个数为负数的情况
}else{
sum=max(sum+x,x);
//加上下一个或从这一个开始
}
mx=max(mx,sum);
}
cout<<mx;
}
这里空空如也
有帮助,赞一个