#2164. 书籍公平分配
书籍公平分配
题目描述
现有 (N) 本书排成一排,第 (i) 本书的页数为 (pages_i)。现在需要将这些书分配给 (M) 位志愿者。
分配时必须满足以下要求:
- 每位志愿者分到的书籍必须是连续的一段,不能将不连续的书籍分给同一位志愿者。
- 每本书必须分配给且只能分配给一位志愿者。
- 每位志愿者至少分到一本书。
每位志愿者所获得的书籍页数等于其分到的所有书籍页数之和。
请你设计一种分配方案,使得所有志愿者中,获得书籍页数最多的那位志愿者的总页数尽可能小,并输出这个最小值。
输入格式
第一行包含两个整数 (N) 和 (M),分别表示书籍的数量和志愿者的人数。
第二行包含 (N) 个整数 (pages_1,pages_2,\ldots,pages_N),表示每本书的页数。
输出格式
输出一个整数,表示在满足所有分配要求的前提下,所有志愿者获得的书籍页数最大值的最小值。
样例输入
4 2
12 34 67 90
样例输出
113
数据范围
- 对于 30% 的数据,(1\le N\le 20),(1\le M\le 10)。
- 对于 60% 的数据,(1\le N\le 500),(1\le M\le 50)。
- 对于 100% 的数据,(1\le N\le 10^5),(1\le M\le 1000)。
- (1\le pages_i\le 10^9)。
保证 (1\le M\le N)。