题目描述:找出最大子串和
ac代码:
#include<iostream> #include<cstdio> using namespace std; int main(){ // freopen("1.txt","r",stdin); ios::sync_with_stdio(0); cin.tie(0); int t; while(cin>>t){ for(int j=1;j<=t;j++){ int n; int a[100004]; cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; int maa=-100000000,l=1,r=1,ma=0,_l=1,mii=-100000000; for(int i=1;i<=n;i++){ ma+=a[i]; if(ma<0){ ma=0; _l=i+1; } else if(ma>=maa){ maa=ma; l=_l; r=i; } } cout<<"Case "<<j<<":"<<endl; if(maa==-100000000){ int mii=-100000000,l=1; for(int i=1;i<=n;i++)if(a[i]>mii)l=i,mii=a[i]; cout<<mii<<' '<<l<<' '<<l<<endl; } else cout<<maa<<' '<<l<<' '<<r<<endl; if(j!=t)cout<<endl; } } }