编程题
### 问题描述 假设你是一名农场主,你有一块长方形土地四周围有围墙,长为 $L$ 米,宽为 $1$ 米。其中已经存在了一些栅栏将其分隔为不同区域。 为了方便管理,你需要让所有的 $N$ 头牛都待在单独的面积相同的区域中,并且每个区域只能有一头牛。你可以再向其中添加一些栅栏,但不能移除原有的栅栏。存在一些空闲区域。 现在,你需要添加栅栏重新分隔区域后,求出每头牛的活动区域长度的最大值。如果没有分隔方案可以实现所有要求,则输出 $-1$。 ### 输入格式 第一行中输入两个整数 $N$ 和 $M$,表示牛的数量和目前已经划分区域的数量。 第二行输入 $M$ 个正整数 $a_1,a_2,\cdots,a_i,\cdots,a_M$ 表示每个区域的长度。 ### 输出格式 输出仅一行,包含一个整数 $x$,表示每头牛所在区域的最大值,没有则输出 $-1$。 ### 样例输入 ``` 4 3 6 9 8 ``` ### 样例输出 ``` 4 ``` ### 样例说明 第一个区域长度为 $6$,可以划分为一个长度为 $4$ 和一个长度为 $2$ 的区域。第二个区域长度为 $9$,可以划分为两个长度为 $4$ 和一个长度为 $1$ 的区域。第三个区域长度为 $8$,可以划分为两个长度为 $4$ 的区域。通过划分,我们可以得到 $5$ 个长度为 $4$ 的区域,足以容纳所有 $4$ 头牛。因此,输出是 $4$,这已经是最优方案。 ### 评测数据规模 $1 \leq N \leq 10^5$,$1 \leq M \leq 10^5$,$1 \leq a_i \leq 10^5$。
查看答案
赣ICP备20007335号-2