木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目是给定的。当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段木头的最大长度。木头长度的单位是cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。
#include <cstdio> 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; }