#726. 木材加工

木材加工

木材加工

题目描述

为了保护环境,木材厂有 nn 根原木,现在想把这些木头切割成 kk 段长度均为 ll 的小段木头,切割后可能会有剩余。

我们希望得到的小段木头越长越好,请求出 ll 的最大值。

木头长度的单位是 cm\text{cm},原木长度均为正整数,我们要求切割得到的小段木头的长度也是正整数。

例如有两根原木长度分别为 11112121,要求切割成等长的 66 段,很明显能切割出来的小段木头长度最长为 55

输入格式

第一行包含两个正整数 n,kn,k,分别表示原木的数量和需要得到的小段数量。

接下来 nn 行,每行一个正整数 LiL_i,表示一根原木的长度。

输出格式

仅一行,即 ll 的最大值。

如果连 1 cm1\text{ cm} 长的小段都切不出来,输出 00

样例输入

3 7
232
124
456

样例输出

114

样例解释

对于第一组样例,三根原木长度分别为 232232124124456456,需要切出 77 段等长小段。当每段长度取 114114 时,第一根可切 22 段,第二根可切 11 段,第三根可切 44 段,总共 2+1+4=72+1+4=7 段,刚好满足要求。若长度增加到 115115,则最多只能切出 2+1+3=62+1+3=6 段,不够 77 段,因此最大长度为 114114

数据范围

对于 100%100\% 的数据,有 1n1051 \le n \le 10^51k1081 \le k \le 10^81Li1081 \le L_i \le 10^8,其中 i[1,n]i \in [1,n]