Cod sursa(job #178285)

Utilizator chelaru_t_achelaru traian andrei chelaru_t_a Data 14 aprilie 2008 12:51:38
Problema Transport Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.75 kb
var d,k,n,i,max:longint;
  s,a,b,c:longint;
  f,t:text;
  v:array [1..16000] of longint;

 procedure citiremaxs;
  var i:integer;
  begin
   s:=0;
   readln(f,n,k);
   for i:=1 to n do
     begin
     readln(f,v[i]);
     s:=s+v[i];
     if max<v[i] then max:=v[i];
     end;
  end;

begin
  assign(f,'transport.in');
  assign(t,'transport.out');
  reset(f);
  rewrite(t);
  citiremaxs;
  a:=max;
  b:=s;
  while b>a+1 do
    begin
    c:=(a+b) div 2+(a+b) mod 2;
    d:=0;
    for i:=1 to n do
      begin
      s:=v[i];
      if s>c then
        begin
        d:=d+1;
        s:=v[i];
        end;
      end;
    if d>k then a:=c
    else b:=c;
    end;
  write(t,(a+b) div 2+(a+b) mod 2);
  close(f);
  close(t);
end.