1. 程式人生 > >pta作業:01-複雜度2 Maximum Subsequence Sum

pta作業:01-複雜度2 Maximum Subsequence Sum

#include"stdio.h"
#include"stdlib.h"
int main()
{int num=0,max=0,sum=0;
scanf("%d",&num);
int *a=(int *)malloc(num*sizeof(int));
for(int i=0;i<num;i++)
    scanf("%d",&a[i]);
int startp=0,maxp=0,maxsize=-1;
for(int i=0;i<num;i++)
    {sum=sum+a[i];
     if(sum>max)
       {max=sum;maxp=i;maxsize=maxp-startp;}
     if
(sum==max&&max==0) {maxp=i;maxsize=0;} if(sum<0) {sum=0;startp=i+1;}} if(!max&&maxsize==-1) printf("%d %d %d",max,a[0],a[num-1]); else printf("%d %d %d",max,a[maxp-maxsize],a[maxp]); return 0;}