Cod sursa(job #1496843)
Utilizator | Data | 5 octombrie 2015 17:52:07 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, mx, s, p, c1, c2;
int v[6000010];
int main(){
fin>>n;
for(int i=1;i<=n;++i) fin>>v[i];
s=mx=v[1];
p=1;
for(int i=2;i<=n;++i){
if(v[i]+s>=0){
s+=v[i];
if(s>mx){
mx=s;
c1=p;
c2=i;
}
}
else s=0, p=i+1;
}
fout<<mx<<' '<<c1<<' '<<c2;
return 0;
}