首页 > 试题广场 >

探险安排

[编程题]探险安排
  • 热度指数:737 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

小明要为n个人计划一次火星的探险,其中一个重要的任务是为每个参与者安排食物。仓库里面有m个能用一天的食物包裹,每个食物包裹有不同的类型ai

每个人每天必须用且只能用一个食物包裹。由于某些原因,在整个过程中,每个人只能用同一种类型的食物包裹,但是不同的人用的食物包裹可以不一样。

给出人数以及食物包裹的情况,请你求出这趟探险最多可以持续多少天。


输入描述:

第一行两个整数,n和m,表示人数和食物包裹的个数。

第二行m个整数,表示每个食物包裹的类型。

满足1 <= n <= 100,1 <= m <= 100,1 <= ai <= 100。



输出描述:
一个整数,表示最多持续的天数;如果一天都无法持续,输出0。
示例1

输入

4 10
1 5 2 1 1 1 2 5 7 2

输出

2
头像 下一次什么时候可以修改昵称
发表于 2020-09-14 18:37:20
对着原作者的C++版写的Java版 算法 1.如果食物包裹数比总人数还少,一天都持续不了,返回0 2.把食物类型及对应数目存放到map中 3.持续天数最少为1,最多为m/n,做二分查找 检查mid:map中的values除mid求和如果大于等于n说明可以持续mid天 import java 展开全文