#H0017. Jiang学长的WF之路(十五)

Jiang学长的WF之路(十五)

题目背景

距离 EC-Final 只有最后一天了。在前往赛场之前,Jiangrc 学长负责去打印店打印队伍的“传家宝”——长达 36 页的代码板子(Code Library)。 因为打印店的老板操作失误,原本应该打印成一册的板子,被打印在了 NN 卷长短不一的卷筒纸上! 为了方便在比赛时队伍的三个人同时查阅,Jiangrc 学长决定将这些卷筒纸裁剪成 KK 段长度完全相等的纸条(多余的部分只能扔掉)。为了保证每段纸条上能容纳尽可能多的代码,他希望这 KK 段纸条的长度尽可能长。

题目描述

给定 NN 个正整数,分别表示这 NN 卷纸的长度 LiL_i。 你需要算出,如果要把这些纸裁剪成 KK 段长度相等的纸条(长度必须为整数),这 KK 段纸条的最大长度是多少? 如果连长度为 11 的纸条都凑不齐 KK 段,请输出 0。

输入格式

第一行包含两个正整数 NNKK1N105,1K1081 \le N \le 10^5, 1 \le K \le 10^8),分别表示纸卷的数量和需要的纸条数量。 接下来 NN 行,每行一个正整数 LiL_i1Li1091 \le L_i \le 10^9),表示每卷纸的长度。

输出格式

输出一个整数,表示能裁剪出的 KK 段纸条的最大整数长度。

样例

4 11
802
743
457
539
200

样例解释

如果截取长度为 200200,第一卷纸可以截取 44 段,第二卷可以截取 33 段,第三卷可以截取 22 段,第四卷可以截取 22 段。 总共 4+3+2+2=114+3+2+2 = 11 段,刚好满足需求。如果长度定为 201201,则无法截取出 1111 段。