Cod sursa(job #784500)

Utilizator hungntnktpHungntnktp hungntnktp Data 6 septembrie 2012 10:05:01
Problema Deque Scor 25
Compilator fpc Status done
Runda Arhiva educationala Marime 1.6 kb
Const
        tfi     =       'deque.in';
        tfo     =       'deque.out';
        Nmax    =       10000000;
Type
        arr1    =       array[1..Nmax] of longint;
Var
        fi,fo   :       text;
        N,K,res :       longint;
        A       :       arr1;
(*------------------------------------*)
Procedure nhap;
  var
        i       :       longint;
  begin
        assign(fi,tfi); reset(fi);
             read(fi,N,K);
             for i := 1 to n do
                read(fi,A[i]);
        close(fi);
  end;
(*------------------------------------*)
Procedure xuly;
 var
        i,min,p,j  :       longint;
 begin
        p:= 0; min     :=      maxlongint;
        For i := 1 to n do
          begin
             if A[i] <= min then
                 begin
                     min := A[i];
                     p := i;
                 end;

             if p <= i - k then
                 begin
                     min := maxlongint;
                     p := 0;
                     for j := 0 to k-1 do
                        if A[i-j] < min then
                             begin
                                min := A[i-j];
                                p := i-j;
                             end;
                 end;
             if i >= k then res := res + min;
          end;

 end;
(*------------------------------------*)
Procedure inkq;
 begin
    assign(fo,tfo); rewrite(fo);
       write(fo,res);
    close(fo);
 end;
(*------------------------------------*)
(*------------------------------------*)
BEGIN
   nhap;
   xuly;
   inkq;
END.