Cod sursa(job #764003)
Utilizator | Andreea Veresteanu AndreeaAV | Data | 3 iulie 2012 18:20:14 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
#include <cctype>
using namespace std;
int main()
{ ifstream f("ssm.in");
ofstream g("ssm.out");
int i,n,A[1000],Smax,S=0,poz,st,dr;
f >> n;
for (i = 1;i <= n;i++) f >> A[i];
poz = i;
Smax=A[1];
for (i=1;i<=n;i++){
S = S+A[i];
if (Smax < S){
Smax = S;
st = poz;
dr = i;
}
if (S < 0){ S = 0;
poz = i+1;
}
}
g << Smax << " "<< st << " "<< dr;
f.close();
g.close();
return 0;
}