本文主要是介绍noip2005初赛-木材加工,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
noip2005C_4_2木材加工
题目描述:
木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有
剩余),需要得到的小段的数目是给定的。当然,我们希望得到的小段越长越好,你的任务
是计算能够得到的小段木头的最大长度。木头长度的单位是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;
//判断每根木头切成长度为t的小段可不可行,可行返回true
var
num,i:integer;
beginnum:=0;for i:=1 to n dobeginif num>=k then break;num:=num+len[i] div t;end;if num>=k then isok:&
这篇关于noip2005初赛-木材加工的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!