Cod sursa(job #1525526)

Utilizator ili226Vlad Ilie ili226 Data 15 noiembrie 2015 10:44:26
Problema Deque Scor 30
Compilator fpc Status done
Runda Arhiva educationala Marime 0.6 kb
var a,d:array[0..5000000]of longint;
    i,j,n,k,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]);
for i:=k+1 to n do
 begin
  if d[1]=a[i-k] then
   begin
    for j:=1 to q-1 do
     d[j]:=d[j+1];
    dec(q);
   end;
  while d[q]>a[i] do dec(q);
  inc(q);
  d[q]:=a[i];
  inc(sum,d[1]);
 end;
assign(f,'deque.out');
rewrite(f);
writeln(f,sum);
close(f);
end.