小飞的又疑问
题号:NC21502
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

小飞的开支就快要不足啦,他还有n天才能领到下一个月的伙食费,他每一天都要花一些钱,他现在必须要安排一个计划,将n天分成m个时间段,每个时间段都有连续的几天或者仅有一天,他现在要设置一个最大限额,保证每个时间段的花费都不超过这个最大限额,他现在想知道这个最大限额最小可能是多少,但是他现在已经自闭了,你能帮他计算出这个最小可能吗?

输入描述:

第一行包含n,m (1 ≤ m ≤ n ≤ 100,000)
接下来一行,有n个数,第i个数表示第i天的花销,每天的花销不超过100000。

输出描述:

输出一个数表示答案,行末输出换行
示例1

输入

复制
7 5
100
400
300
100
500
101
400

输出

复制
500

说明

{100,400},{300,100},{500},{101},{400},这样分成5段,最大开销是500,为最优解