Cod sursa(job #1613875)
Utilizator | Data | 25 februarie 2016 18:03:23 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,v[6000005],sum=0,maxs=-2048,st=1,dr=0,stmax=0,drmax=0;
int main() {
fin>>n;
for(int i=1; i<=n; i++) {
fin>>v[i];
}
for(int i=1; i<=n; i++) {
sum+=v[i];
dr++;
if(sum<0) {
sum=0;
st=i+1;
dr=i+1;
}
if(sum>maxs) {
maxs=sum;
stmax=st;
drmax=dr;
}
}
fout<<maxs<<' '<<stmax<<' '<<drmax-1;
return 0;
}