数据结构第一周编程作业Maximum Subsequence Sum
大三狗,趁着寒假有时间重学数据结构,心塞塞的,姥姥说这是2004年浙江大学计算机专业考研复试真题,要求略高,选做。其实也不难,是本次课最后讲到的算法的改造,也只是小改。
代码如下
include"stdio.h"
int main(int argc, char const *argv[])
{
int a[100000];
int N;
scanf("%d",&N);
int side[5];
int i,j,k,flag=0;
int ThisSum,MaxSum=0;
for (k = 0; k < N; ++k)
{
scanf("%d",&a[k]);
}
for (k = 0; k < N; ++k){
if(a[k]<0)
flag++;
}
if(flag==N){
printf("%d %d %d",0,a[0],a[N-1]);
}
else{
for (i = 0; i < N; ++i)
{
ThisSum=0;
for (j = i; j < N; ++j)
{
ThisSum=ThisSum+a[j];
if (ThisSum>MaxSum)
{
MaxSum=ThisSum;
side[0]=a[i];
side[1]=a[j];
}
}
}
printf("%d %d %d", MaxSum,side[0],side[1]);
}
return 0;
}