Pagini recente » Cod sursa (job #1471101) | Cod sursa (job #2905783) | Cod sursa (job #1677286) | Cod sursa (job #920451) | Cod sursa (job #265993)
Cod sursa(job #265993)
// Arhiva de probleme - Secventa2
var
n, k, i, j, smax, pozi, pozf : longint;
v, s, m, p : array [0..50000] of longint;
f : text;
begin
assign (f,'secv2.in');
reset (f);
readln (f, n, k);
for i := 1 to n do
begin
read(f, v[i]);
if (i<>1) then
s[i] := s[i-1] + v[i]
else
s[i] := v[i];
if (i<>1) and (s[i]>=m[i-1]) then
begin
m[i] := m[i-1];
p[i] := p[i-1];
end
else
begin
m[i] := s[i];
p[i] := i;
end;
if (i>k) and (smax<s[i]-m[i-k]) then
begin
smax := s[i]-m[i-k];
pozi := p[i-k]+1;
pozf := i;
end;
if (i=k) or (smax < s[i]) then
begin
smax := s[i];
pozi := 1;
pozf := i;
end;
end;
close (f);
assign (f,'secv2.out');
rewrite (f);
writeln (f, pozi, ' ', pozf, ' ', smax);
close (f);
end.