Cod sursa(job #1121997)
Utilizator | Data | 25 februarie 2014 15:15:32 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
var
f,g:text;
coada,cap,n,i,bs:longint;
a,t:array[0..6000000] of integer;
begin
assign(f,'ssm.in');reset(f);
assign(g,'ssm.out');rewrite(g);
readln(f,n);
for i:=1 to n do read(f,a[i]);
bs:=a[1];
for i:=1 to n do
begin
t[i]:=a[i];
if t[i] < t[i-1]+a[i] then t[i]:=t[i-1]+a[i];
if t[i]>bs then
begin
bs:=t[i];
cap:=i;
end;
end;
for i:=cap-1 downto 1 do
if t[i]=t[cap]-t[cap-1] then coada:=i;
writeln(g,bs,' ',coada,' ',cap);
close(g);
end.