一个 高无限 长为n-1 宽为1 的无盖长方体,头尾也被打通了,相当于一个无盖的管子,水是可以从左右流出的。
现在在中间每间隔1就放一块无限薄、宽和长方体相同、高为ai的挡板,一共有n块。
现在要你做的是从这n块挡板中选出两块(假设有神奇的魔法、当你选择两块时其他挡板会暂时消失)。
满足条件:这两块木板之间装的水最多。
多组测试数据
每个测试样例包含一个整数n(1000000 >= n >= 2)。
接下来一行有n个正整数ai (ai <= 1000000) 分别表示n块挡板的高度。
n的总和不超过8e6
因为数据量较大建议使用读入挂https://paste.ubuntu.com/p/Zjp27ts6jV/
注意当read 返回false的时候,说明已读到文件尾
注:其实因为时限比较宽,只要你算法正确,不用读入挂,也能在2s内轻松通过
输出一个整数表示最多能装多少水,一个样例输出一行。
5 3 4 1 3 5
12 样例中 最优的两块木板应该是挑选第一块和最后一块 这个时候装水量为1(宽) * 3(高) * 4(长) = 12 ;