Cod sursa(job #176399)

Utilizator chelaru_t_achelaru traian andrei chelaru_t_a Data 11 aprilie 2008 10:50:38
Problema Transport Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.06 kb
type vector=array [1..16000] of integer;
var n,k,maxs:integer;
  v:vector;
  f,t:text;

 procedure citire;
  var i:integer;
  begin
   readln(f,n,k);
   for i:=1 to n do readln(f,v[i]);
  end;

 procedure saltlmax;
  var max,min,p,i:integer;
    s:int64;
    miv:vector;
  begin
   max:=0;
   min:=v[1];
   for i:=1 to n do
    begin
     if v[i]>max then max:=v[i];
     if v[i]<min then min:=v[i];
    end;
   s:=max;
   if maxs<>2 then
     begin
     p:=1;
     miv[p]:=min;
     for i:=1 to n do
       if v[i]=min then v[i]:=0;
     while maxs=2 do
       begin
       p:=p+1;
       miv[p]:=16001;
       for i:=1 to n do
         if (v[i]<>0) and (miv[p]>v[i]) then miv[p]:=v[i];
       for i:=1 to n do
         if v[i]=miv[p] then v[i]:=0;
       maxs:=maxs-1;
       end;
     for i:=1 to p do s:=s+miv[i];
     end
   else s:=s+min;
   write(t,s);
  end;

begin
  assign(f,'transport.in');
  assign(t,'transport.out');
  reset(f);
  rewrite(t);
  citire;
  maxs:=n div k;
  saltlmax;
  close(f);
  close(t);
end.