1. 程式人生 > >資料結構之最大子列和

資料結構之最大子列和

#include <stdlib.h>
#include <stdio.h>
int MaxSubseqSum(int a[],int N)
{
    int i,ThisSum = 0,MaxSum = 0;
    for(i = 0;i < N;i++)
    {
        ThisSum += a[i]; 
        if(ThisSum > MaxSum)
        {
            MaxSum = ThisSum;
        }
        else if(ThisSum < 0)
        {
            ThisSum = 0;
        }
    }
    return MaxSum;
}
int main()
{
  int i,N;
  int a[100000];
   scanf("%d",&N);
  for(i=0;i<N;i++)
  {
    scanf("%d",&a[i]);
  }
  printf("%d",MaxSubseqSum(a,N));
  system("pause");
  return 0;
}