动态规划
#include<iostream> using namespace std; int as[10001]; int main() { int n; while(cin>>n&&n) { int m,b,sum=0; int dd=0; memset(as,0,sizeof(as)); int dex1=0,dex2=0,max=-999999; int x=0,y=0; for(int ii=0;ii<n;ii++) { cin>>b; if(b<0) dd++; as[ii]=b; sum+=b; if(max<sum) { max=sum; x=dex1,y=dex2; } if(sum<0) { sum=0; dex1=ii+1;dex2=ii+1; } else dex2++; } if(dd==n) max=0,x=0 cout<<max<<" "<<as[x]<<" "<<as[y]<<endl; } return 0; }

浙公网安备 33010602011771号