Cod sursa(job #1525532)

Utilizator ili226Vlad Ilie ili226 Data 15 noiembrie 2015 10:52:48
Problema Deque Scor 60
Compilator fpc Status done
Runda Arhiva educationala Marime 0.59 kb
var a,d:array[0..5000000]of longint;
    i,j,n,k,p,q:longint;
    f:text;
    sum:int64;
begin
assign(f,'deque.in');
reset(f);
readln(f,n,k);
for i:=1 to n do
 readln(f,a[i]);
close(f);
q:=1;d[q]:=a[1];
d[0]:=-10000003;
for i:=2 to k do
 begin
  while d[q]>a[i] do dec(q);
  inc(q);
  d[q]:=a[i];
 end;
inc(sum,d[1]);p:=1;
for i:=k+1 to n do
 begin
  if d[p]=a[i-k] then
   begin
    d[p]:=-10000003;
    inc(p);
   end;
  while d[q]>a[i] do dec(q);
  inc(q);
  d[q]:=a[i];
  inc(sum,d[p]);
 end;
assign(f,'deque.out');
rewrite(f);
writeln(f,sum);
close(f);
end.