修复木桶
测试数据来自 system/2309
作业已超过截止时间,您无法递交本题目。
时间限制:1秒 内存限制:256M
【题目描述】
一只木桶能盛多少水,并不取决于桶壁上最高的那块木板,而恰恰取决于桶壁上最短的那块。
已知一个木桶的桶壁由 \(N\) 块木板组成,第 \(i\) 块木板的高度为 \(a_i\)。
现在小H有一个快捷修补工具,每次可以使用修补工具将连续的不超过 \(L\) 块木板提高至任意高度。
已知修补工具一共可以使用 \(M\) 次,如何修补才能使最短得那块木板最高能?
注意:木板是环形排列的,第 \(N-1\)块,第 \(N\) 块和第 \(1\) 块也被视为连续的。
【输入格式】
第 1 行:三个正整数,\(N,M,L\)。分别表示木板数量,修补工具使用次数,修补工具每次可以同时修补的木板数。
第 2 行:\(N\) 个正整数,依次表示每一块木板的高度 \(a_i\)。
【输出格式】
第 1 行:一个整数。表示使用修补工具后,最短木板所能达到的最高高度。
【输入输出样例】
Input
8 2 3
8 1 9 2 3 4 7 5
Output
7
【数据限制】
对于 \(100\%\) 的数据,\(1≤N≤1000\),\(1≤L≤20\),\(M*L<N\),\(1≤a_i≤10^9\)。
【来源】
Mr.he