A104088.皓仔的手工课
普及-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
皓仔在手工课上要把若干根绳子剪成等长的小段,用来做手链。
现在有 n 根绳子,第 i 根长度为 ai。皓仔可以把一根绳子剪成若干段,每段长度都必须是同一个正整数 L(单位与 ai 相同),剪完后剩下不足 L 的部分会被丢弃。
皓仔希望最终能得到至少 k 段长度为 L 的小绳段,并且让 L 尽可能大。请你求出满足条件的最大 L。
如果无论 L 取多少都无法得到 k 段,则输出 0。
输入格式
第一行输入两个整数 n,k。
第二行输入 n 个整数 a1,a2,…,an,表示每根绳子的长度。
输出格式
输出一个整数,表示满足条件的最大长度 L;若不存在则输出 0。
输入输出样例
输入#1
5 11 8 9 8 6 7
输出#1
3
说明/提示
【数据范围】
对于所有测试数据保证: 3≤n≤100,1≤ai,k≤1000。
【样例解释】
对于样例,当 L=3 时,可剪出的段数为:
8/3=2 段
9/3=3 段
8/3=2 段
6/3=2 段
7/3=2 段
总共 2+3+2+2+2=11 段,满足至少 k=11 段。
而当 L=4 时,总段数为 8/4+9/4+8/4+6/4+7/4=2+2+2+1+1=8 段,不满足要求。
因此最大可行长度为 3。