Building a Tall Barn
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

Farmer John is building a brand new, N-story barn, with the help of his K cows ( and ). To build it as quickly as possible, he needs your help to figure out how to allocate work among the cows.

Each cow must be assigned to work on exactly one specific floor out of the N total floors in the barn, and each floor must have at least one cow assigned to it. The ith floor requires a_i units of total work, and each cow completes one unit of work per hour, so if c cows work on floor i, it will be completed in  units of time. For safety reasons, floor i must be completed before construction can begin on floor i+1.

Please compute the minimum total time in which the barn can be completed, if the cows are allocated to work on floors in an optimal fashion. Output this number rounded to the nearest integer; it is guaranteed that the solution will be more than 0.1 from the boundary between two integers.

输入描述:

The first line of input contains N and K.

The next N lines contain , each a positive integer of size at most .

输出描述:

Please output the minimum time required to build the barn, rounded to the nearest integer.
示例1

输入

复制
2 5
10
4

输出

复制
5