首页 > 试题广场 >

木材加工 题目描述 : 木材厂有一些原木,现在想把这些木头切

[填空题]
木材加工
题目描述 : 木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有
剩余),需要得到的小段的数目是给定的。当然,我们希望得到的小段越长越好,你的任务
是计算能够得到的小段木头的最大长度。
木头长度的单位是cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度
也是正整数。
输入 : 第一行是两个正整数N和K(1 ≤ N ≤ 10000,1 ≤ K ≤ 10000),N是原木的数目,
K是需要得到的小段的数目。
接下来的N行,每行有一个1到10000之间的正整数,表示一根原木的长度。
输出 : 输出能够切割得到的小段的最大长度。如果连1cm长的小段都切不出来,输出”0”。
输入样例 : 3 7
232
124
456
输出样例 : 114
程序:
var
  n, k : integer;
  len : array [1..10000] of integer;
  i, left, right, mid : integer;
function isok(t : integer) : boolean;
var
  num, i : integer;
begin
  num := 0;
  for i := 1 to n do
  begin
    if num >= k then break;
    num := 1;
  end;
  if 2 then isok := true
  else isok := false;
end;
begin
  readln(n, k);
  right := 0;
  for i := 1 to n do
  begin
    readln(len[i]);
    if right < len[i] then right := len[i];
  end;
  inc(right);
  3;
  while 4 < right do
  begin
    mid := (left + right) div 2;
    if 5 then right := mid
    else left := mid;
  end;
  writeln(left);
end.

这道题你会答吗?花几分钟告诉大家答案吧!