Cod sursa(job #331020)
Utilizator | Adrian Draghici Addy. | Data | 12 iulie 2009 13:19:15 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream.h>
int n,i,s,max,solp,solu,p,u,x;
int main() {
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
f>>s;
max = s;
solp = solu = p = u = 1;
for (i=2; i<=n; i++) {
f>>x;
if (s + x >= x) {
u = i;
s += x;
}
else {
p = u = i;
s = x;
}
if (s > max) {
max = s;
solp = p;
solu = u;
}
}
g << max << " " << solp << " " << solu;
f.close();
g.close();
return 0;
}