天天看點

01-複雜度1 最大子列和問題 (20分)

01-複雜度1 最大子列和問題 (20分)
#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;
}