根据求最大子列和的在线处理算法即可。
#include<stdio.h>
int main()
{
int n;
int array[100005];
int ThisSum=0,MaxSum=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&array[i]);
}
for(int i=0;i<n;i++)
{
ThisSum += array[i];
if(ThisSum>MaxSum){
MaxSum = ThisSum;
}
if(ThisSum < 0){
ThisSum = 0;
}
}
printf("%d",MaxSum);
}