Guest User

Untitled

a guest
Jun 16th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.80 KB | None | 0 0
  1. program Project2;
  2. {$APPTYPE CONSOLE}
  3. uses
  4.   SysUtils;
  5.  
  6.  
  7. var
  8.   sum:int64;
  9.   n, k, v, m, j, h, l, i : integer;
  10.   bool : boolean;
  11.   q : array[1..10002] of integer;
  12.  
  13.  function ok(x : integer) :boolean;
  14.    begin
  15.       v:=0;
  16.       for i:=1 to n do v := v + (q[i] div x);
  17.       if v>=k then result:=true
  18.           else result:=false;
  19.   end;
  20.  
  21. begin
  22.  //reset(input, 'ropes.in');
  23.  //rewrite(output, 'ropes.out');
  24.     read(n, k);
  25.     sum:=0;
  26.     for i:=1 to n do begin
  27.      read(q[i]);
  28.      sum:=sum+q[i];
  29.     end;
  30.  if sum<k then begin
  31.      writeln(0);
  32.      exit;
  33.    end;
  34.  
  35.   h:=(sum div k)+1;
  36.   l:=1;
  37.   while (ok(l) = true) and (h-l>1) do
  38.      begin
  39.       if ok(round((h+l)/2)) then l:=round((h+l)/2)
  40.         else h:=round((h+l)/2);
  41.      end;
  42.    writeln(l);
  43.    readln;
  44.    readln;
  45. end.
Add Comment
Please, Sign In to add comment