蓝桥杯-- 最大子段和_ci

在线处理  . 

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <set>
#include <cstring>
#include <stack>
#include <set>
#include <vector>
#include <map>
#include <time.h>
#include <queue>
#define Swap(a,b) a ^= b ^= a ^= b
#define pi acos(-1)
#define cl(a,b) memset(a,b,sizeof(a))
#define lson rt<<1
#define rson rt<<1|1
using namespace std ;
typedef long long LL;
//const int N = 1e7+10 ;
const int inf = 0x3f3f3f3f;
const int MAX = 51000;
int read(){
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
LL a[MAX] ;
int n ;
LL Maxsub(){
LL Thissum = 0 , Maxsum = 0 ;
for(int i = 0 ; i<n ;i++){
Thissum+=a[i] ;
if(Thissum > Maxsum ){
Maxsum = Thissum ;
}
else if(Thissum<0){
Thissum = 0 ;
}
}
return Maxsum ;
}
int main()
{

cin >> n ;
for(int i = 0 ; i<n ; i++) cin >>a[i] ;
cout<<Maxsub();

return 0 ;
}