#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;}
pta作业:01-复杂度2 Maximum Subsequence Sum
最新推荐文章于 2022-10-25 17:17:36 发布