Description
WYZX的所有学生获得了一个大扫除的机会——去走廊拖地。 WYZX的走廊被分成了 M 段,每段的长度不一定相同。WYZX一共有 N 名学生参加劳动,这些学生将分成 M 组来完成这项工作,因为长度不同,分配的任务量肯定不同,现在,负责这次大扫除的老师想知道,拖地长度最多的同学最少必须拖多长的走廊,这样才能保证尽可能的公平。当然,可以有学生当拉拉队,不用拖地,但是每段走廊必须要拖干净。 比如:有 5 名学生,2 段走廊,第一段长度为 7 ,第二段长度为 4. 可以让 3 个人负责拖长度为 7 的,2 个人负责长度为 4 的,那么拖第一段的某个人必须要拖长度为 3 的护栏,而其他的人拖长度为 2 的护栏。这样就有 1 位同学必须拖长度为 3 的护栏。
Input
第一行:两个整数 N 和 M(1≤N≤109,1≤M≤300000,M≤N)
接下来 M 行,每行一个整数,表示每段护栏的长度,保证护栏的长度在 [1,109] 之间。
Output
一个整数,如题目描述,任务量最重的同学拖地长度的最小值。
HINT
【数据范围】 20% 数据保证 N≤30,M≤20,40% 数据保证 N≤10000,M≤1000,100% 数据保证 如题目描述