题意要求最大子序列和,一道很经典的题目,可以用贪心算法解之~~
// 1007. Maximum Subsequence Sum.cpp: 主项目文件。
#include "stdafx.h"
#include <cstdio>
int main()
{
int n;
while(~scanf("%d",&n)){
int leftTemp,left,right,curSum=0,maxSum=-1;
int first,end;
bool tag=false;
for(int i=0;i<n;i++){
int temp;
scanf("%d",&temp);
if(i==0){
first=temp;
leftTemp=temp;
}
if(i==n-1)
end=temp;
if(temp>=0)
tag=true;
if(curSum<0){
leftTemp=temp;
curSum=temp;
}
else{
curSum+=temp;
}
if(curSum>maxSum){
maxSum=curSum;
left=leftTemp;
right=temp;
}
}
if(tag)
printf("%d %d %d\n",maxSum,left,right);
else
printf("0 %d %d\n",first,end);
}
return 0;
}