Cod sursa(job #1256050)
Utilizator | Pavlov Ion pavlov.ion | Data | 5 noiembrie 2014 19:00:51 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include<fstream>
#include<algorithm>
#define LL long long
#define MAXN 6000001
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
LL N,S[MAXN],bestSum,sum,st,dr,idx;
int main() {
int i;
cin>>N;
for(i=1;i<=N;i++)
cin>>S[i];
bestSum=-int(2e9);
for(i=1;i<=N;i++) {
if(sum<0) {
sum=S[i];
idx=i; }
else
sum+=S[i];
if(bestSum<sum){
bestSum=sum;
st=idx;
dr=i; }
}
cout<<bestSum<<" "<<st<<" "<<dr;
return 0;
}