#5033. 吃萝卜(eat)-T6

    ID: 5033 传统题 1000ms 128MiB 尝试: 14 已通过: 11 难度: 3 上传者: 标签>南海区赛2017南海小学二分答案普及/提高−

吃萝卜(eat)-T6

题目描述

在一个神奇的国度里,有一只编程兔,它精通各种编程语言和算法,小花是它的好朋友。

某天小花给编程兔送来了 nn 袋萝卜(编号 11nn),每袋有一定数量的萝卜。编程兔要将这些萝卜分给 mm 只小兔子,兔子按编号 11mm 依次排队领取,萝卜按袋的编号从小到大顺序发放,所有萝卜必须分完且无剩余。分配规则为:每只兔子只能领取连续的若干袋萝卜,每只兔子至少领取一袋,一袋萝卜只能分给一只兔子,不能拆分。

编程兔希望萝卜分配得尽可能平均,即让得到萝卜数量最多的那只兔子,其萝卜数量尽可能少。请你求出这个最小的最大值。

输入格式

第一行是两个正整数 nnmm,表示萝卜的袋数和兔子的数量。

第二行是 nn 个正整数,依次表示每袋萝卜的数量。

输出格式

输出只有一行一个整数,表示得到萝卜最多的那只兔子最少可以得到的萝卜数量。

样例

9 3
1 2 3 4 5 6 7 8 9
17

提示

样例中最优分配方案为:第 11-55 袋萝卜分给第一只兔子,总数 1515 个;第 66-77 袋分给第二只兔子,总数 1313 个;第 88-99 袋分给第三只兔子,总数 1717 个。此时得到萝卜最多的兔子有 1717 个,这是所有分配方式中"最大值最小"的结果。

若按 11-44 袋(1010 个)、55-77 袋(1818 个)、88-99 袋(1717 个)分配,最多的兔子有 1818 个,并非最优。

数据范围

  • n,m105n, m \le 10^5
  • 每袋萝卜的数量 105\le 10^5