终于自主做出来动态规划。继续加油啊;
我有个传送门:http://blog.csdn.net/xujinsmile/article/details/7840944
#include<iostream>
#include<string.h>
#include<cstdio>
using namespace std;
int main(){
int n;
while(scanf("%d",&n)&&n){
int a[10010];
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++)
cin>>a[i];
int sum=0;
int start=0,end=0;
int startfinsh=0,endfinsh=0;
int maxium=-2147483647;
for(int i=1;i<=n;i++)
{
if(sum<=0)
{
sum=a[i];
start=i;
end=start;
}
else
{
sum+=a[i];
//start=i;
end+=1;
}
if(sum>maxium)
{
maxium=sum;
startfinsh=start;
endfinsh=end;
}
}
if(maxium<0)
cout<<"0"<<" "<<a[1]<<" "<<a[n]<<endl;
else
cout<<maxium<<" "<<a[startfinsh]<<" "<<a[endfinsh]<<endl;
}
return 0;
}