![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISOzgzNwgTMzIzNyATM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
#include <stdio.h>
#include <stdlib.h>
int maxsubsum(int *, int);
int main(void) {
int n, i = ;
int *a;
scanf("%d", &n);
a = (int*) malloc(n*sizeof(int));
while (i < n && scanf("%d", a + i) == )
++i;
printf("%d", maxsubsum(a, n));
free(a);
return ;
}
int maxsubsum(int *a, int n)
{
int sum = , temp = ;
for (int i = ; i < n; ++i) {
temp += *(a + i);
if (temp > sum)
sum = temp;
if (temp < )
temp = ;
}
return sum;
}