Cod sursa(job #744708)

Utilizator RadioactivMihai Preguza Radioactiv Data 9 mai 2012 14:43:24
Problema Deque Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.5 kb
var a,deque:array[1..5000000] of longint;
    suma:int64;
    cap,coada,n,k,i:longint;

BEGIN
  assign(input,'deque.in');
  reset(input);
  read(n,k);
  for i:=1 to n do
    read(a[i]);
  cap:=1;
  coada:=0;
  suma:=0;
  for i:=1 to n do
    begin
      while (cap<=coada) and (a[i]<=a[deque[coada]])
        do dec(coada);
      inc(coada);
      deque[coada]:=i;
      if deque[cap]=i-k then inc(cap);
      if i>=k then suma:=suma+a[deque[cap]];
    end;
  writeln(suma);
END.

END.