Cod sursa(job #824948)
Utilizator | Data | 27 noiembrie 2012 11:19:41 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,x;
int main(){
f>>n>>x;
int pi, pf, II, sumamaxima=x,sumacurenta=0;
sumacurenta=x;
pi=1;pf=1;II=1;
for(int i=2;i<=n;++i){f>>x;
if(sumacurenta<0){II=i;sumacurenta=x;}
else sumacurenta=sumacurenta+x;
if(sumacurenta>sumamaxima){sumamaxima=sumacurenta;
pi=II;
pf=i;
}
}
g<<sumamaxima<<" ";
g<<pi<<" ";
g<<pf<<"\n";
g.close();
return 0;
}