题目例子给的很好,还有不要遗漏全是负数的情况。
#include<stdio.h>
#include<math.h>
int main(){
long long n=0;
while(scanf("%ld",&n)!=EOF){
long long sum=0;
long long max=0;
int tag=0;
long long maxn=pow(-2,63);
for(int i=0;i<n;i++){
long long tem=0;
scanf("%ld",&tem);
if(tem>0) tag=1;
if(tem>maxn) maxn=tem;
sum+=tem;
if(sum<0){
sum=0;
}else{
if(sum>max){
max=sum;
}
}
}
if(tag==1) {
printf("%ld\n",max);
}else{
printf("%ld",maxn);
}
}
return 0;
}
结果:
标签:ld,最大,int,long,序列,tag,maxn,KY22,tem From: https://www.cnblogs.com/llllmz/p/18019790