#include <stdio.h>
#include <stdlib.h>
int maxsubsum(int *, int);
int main(void) {
int n, i = 0;
int *a;
scanf("%d", &n);
a = (int*) malloc(n*sizeof(int));
while (i < n && scanf("%d", a + i) == 1)
++i;
printf("%d", maxsubsum(a, n));
free(a);
return 0;
}
int maxsubsum(int *a, int n)
{
int sum = 0, temp = 0;
for (int i = 0; i < n; ++i) {
temp += *(a + i);
if (temp > sum)
sum = temp;
if (temp < 0)
temp = 0;
}
return sum;
}
01-复杂度1 最大子列和问题 (20分)
最新推荐文章于 2022-06-24 18:28:44 发布