Cod sursa(job #399735)

Utilizator Cristian_BBerceanu Cristian Cristian_B Data 20 februarie 2010 23:16:37
Problema Subsecventa de suma maxima Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.76 kb
var i,n,k:longint;
    v:array[1..30000] of integer;
    s:array[1..30000] of longint;
    max,sum,inc,sf:longint;
    f,g:text;
procedure load;
begin
assign(f,'ssm.in');
reset(f);
read(f,n,k);
for i:=1 to n do
read(f,v[i]);
close(f);
assign(g,'ssm.out');
rewrite(g);
end;
procedure gen_s;
var sum:longint;
begin
 sum:=0;
 for i:=1 to n do
 begin
  sum:=sum+v[i];
  s[i]:=sum;
 end;
end;


procedure coords;
begin

 max:=-maxint;
 for i:=1 to n do
 if max<s[i] then
  begin
   max:=s[i];
   sf:=i;
  end;
  inc:=sf;sum:=s[sf]+v[sf];
  while sum<>0 do
   begin
    inc:=inc-1;
    sum:=sum-v[inc];
   end;

end;
BEGIN
load;

gen_s;
coords;
sum:=0;

for i:=inc to sf do
sum:=sum+v[i];
write(g,inc,' ',sf,' ',sum);
close(g);
END.