蝈蝈的多线程Ⅴ

TimeLimit:1000MS  MemoryLimit:64MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

众所周知,多线程即并发,就是多个CPU同时运行多个线程来缩短时间和提高效率。每个线程被分为数个时间长度为正整数 k 的时间片,如果最后一个时间片长度不足 k,则加上等待时间自动补到 k。现在有 n 个线程,已知每个线程需要的时间,请问将所有线程分成不超过 m 个时间片的最小的 k

Input

第一行两个整数 n 和 m,分别表示线程的数量和拆分时间片的数量(1 ≤ n ≤ 100000,1 ≤ m ≤ 1e9)

第二行 n 个数 ai,表示第 i 个线程的所需时间(1 ≤ ai ≤ 1e9)

Output

输出一行一个整数,表示将所有线程分成不超过 m 个时间片的最小的正整数 k(k ≥ 1),如果无论怎么分都会超过则输出 0

SampleInput
3 4
2 1 1
SampleOutput
1
Submit
题目统计信息详细
总AC数42
通过人数29
尝试人数33
总提交量133
AC率21.80%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: