Cod sursa(job #882030)

Utilizator dantheroDan Terhesiu danthero Data 18 februarie 2013 20:37:11
Problema Deque Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.8 kb
var a:array[1..5000001] of longint;
  S:int64;
  i,k,n:longint;
  f,g:text;
  MA, MU: array[1..2] of longint;
const max=10000001;

Begin
assign(f,'deque.in');reset(f);
assign(g,'deque.out');rewrite(g);
readln(f,n,k);
ma[1]:=max;
ma[2]:=-1;
S:=0;
mu[1]:=max;
mu[2]:=-1;

For i:=1 to n do
   readln(f,a[i]);
n:=n+1;
a[n]:=max;
for i:=1 to n do begin
   if (i>k) then begin
      S:=S+ma[1];
      if i-k = Ma[2] then begin
            ma[1]:=mu[1];
            ma[2]:=mu[2];
            mu[1]:=max;
            mu[2]:=i+1;
      end;
   end;

   If a[i]<Ma[1] then begin
        Ma[1]:=a[i];
        ma[2]:=i;
        mu[1]:=max;
        mu[2]:=i+1;
   end
   else if a[i]=Ma[i] then
        ma[2]:=i
   else If a[i]<mu[1] then begin
        mu[1]:=a[i];
        mu[2]:=i;
   end;
end;
writeln(g,S);
close(f);
close(g);
end.