Cod sursa(job #701829)
| Utilizator | Data | 1 martie 2012 18:02:28 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 60 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
program inf;
var f,g:text;
v,s:array[0..6000000]of integer;
n,i,j,pozi,pozj:longint;
smax:int64;
begin
assign(f,'ssm.in'); reset(f);
assign(g,'ssm.out'); rewrite(g);
readln(f,n);
for i:=1 to n do
begin
read(f,v[i]);
end;
smax:=v[1];
for i:=1 to n do
begin
s[i]:=v[i];
if s[i]<s[i-1]+v[i] then
s[i]:=s[i-1]+v[i]
else
pozi:=i;
if s[i]>smax then
begin
smax:=s[i];
pozj:=i;
end;
end;
writeln(g,smax,' ',pozi,' ',pozj);
close(f);
close(g);
end.