首页 > 试题广场 >

木材加工题目描述: 木材厂有一些原木,现在...

[填空题]

木材加工题目描述:

木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有剩余),需要得到的小段的数目是给定了的。当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段木头的最大长度。

木头长度的单位是 cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。输入:

第一行是两个正整数 N 和 K(1 ≤ N ≤ 10000,1 ≤ K ≤ 10000),N 是原木的数目,K 是需要得到的小段的数目。    接下来的 N 行,每行有一个 1 到 10000 之间的正整数,表示一根原木的长度。   输出:     输出能够切割得到的小段的最大长度。如果连 1cm 长的小段都切不出来,输出0”。   输入样例:

3 7

232

124

456

输出样例:

114
程序:
#include <bits/stdc++.h>
int n, k, len[10000];       
int isok(int t) {        
    int num = 0, i;        
    for (i = 0; i < n; i++) {         
        if (num >= k) break;         
        num =   1  ;       
    }        
    if (  2  ) return 1;        
    else return 0; 
 } 

 int main( ) {        
     int i, left, right, mid;        
     scanf("%d%d", &n, &k);        
     right = 0;        
     for (i = 0; i < n; i++) {         
         scanf("%d", &(len[i]));         
         if (right < len[i]) right = len[i]; 
  } 
  right++; 
    3  ; 
  while (  4   < right) {         
      mid = (left + right) / 2;         
      if (  5  ) right = mid;         
      else left = mid;        
  }        
  printf ("%d\n", left);        
  return 0; 
 }


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