Cod sursa(job #697575)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 29 februarie 2012 09:53:25
Problema Deque Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.54 kb
program deque;
var f,g:text;
    n,k,i,c,p:longint;
    a:array [0..5000000] of longint;
    s:int64;
    cd:array [1..5000000] of longint;

begin
 assign (f,'deque.in'); reset (f);
 assign (g,'deque.out'); rewrite (G);
 readln (f,n,k);
 for i:=1 to n do
  readln (f,a[i]);
 s:=0;
 c:=0;  p:=1;
 for i:=1 to n do
 begin
   while (p<=c) and ( a[i]<=a[cd[c]] )do
    c:=c-1;
    c:=c+1;
   cd[c]:=i;
   if i>=k then
   begin
 if cd[p]=i-k then
  p:=p+1;
 s:=s+a[cd[p]];
end;
 end;
write (g,s);
 close (f); close (G);
end.