//Maximum Subsequence Sum
#include<stdio.h>
#define MAX_LENGTH 15
int a[MAX_LENGTH],end[MAX_LENGTH],c[MAX_LENGTH];//c
int main()
{
int n,i,j,sum = 0;
int max_begin,max,flag_positive = 0;
scanf("%d",&n);
for(i = 0; i < n; i++)
{
scanf("%d",&a[i]);
end[i] = 0;
c[i] = 0;
if(a[i] >= 0)
flag_positive = 1;
}
if(flag_positive == 1)
{
max = 0;
max_begin = 0;
for(i = 0; i < n; i++)
{
sum = 0;
for(j = i; j < n; j++)
{
sum += a[j];
if(end[i] < sum)
{
end[i] = sum;
c[i] = j;
}
}
if(max < end[i])
{
max = end[i];
max_begin = i;
}
}
printf("%d %d %d", max, a[max_begin], a[c[max_begin]]);
} else {
printf("0 %d %d",a[0],a[n-1]);
}
return 0;
}
有一点没过,很奇怪,到时再看看。。。