Cod sursa(job #1204419)
Utilizator | Pavlov Ion pavlov.ion | Data | 2 iulie 2014 21:35:28 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream>
using namespace std;
#define MAXN 6000002
#define LL long long
ifstream cin("ssm.in");
ofstream cout("ssm.out");
LL N,S[MAXN],i;
int main() {
cin>>N;
for(i=1;i<=N;i++)
cin>>S[i];
int best=-10000000,min=0,idx=0,beg,end;
for(i=1;i<=N;i++){
S[i]+=S[i-1];
if(best<S[i]-min){
best=S[i]-min;
beg=idx+1;
end=i;
}
if(min>S[i]){
min=S[i];
idx=i;
}
}
cout<<best<<" "<<beg<<" "<<end;
return 0;
}