解题思路: 其实就是一个字段最大和的问题
注意事项:
参考代码:
#include <stdio.h>
int a[100002],maxsum[100002];
int max(int a,int b){
if(a>b)
return a;
else
return b;
}
int main(){
int n;
int max1=-100000;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++){
maxsum[i]=(maxsum[i-1]>0?(maxsum[i-1]+a[i]):a[i]); //比较当前和的大小是否大于0
if(maxsum[i]>max1)
max1=maxsum[i];
}
printf("%d",max1);
return 0;
}
0.0分
3 人评分