#P0801. 最大区间函数值
最大区间函数值
题目描述
给定一个长度为 的数列 。
我们定义 表示下标区间 范围内所有元素的最小值,即 ;
定义 表示下标区间 范围内所有元素之和,即 。
求:对于所有 , 的最大值。
输入格式
第一行,一个整数 。
第二行, 个整数 。
输出格式
输出一个整数,表示对于所有 , 的最大值。
样例
6
3 1 6 4 5 2
60
说明/提示
样例解释
取 ,则 。
数据规模与约定
- 对于 的数据,
- 对于 的数据,
- 对于 的数据,
给定一个长度为 n 的数列 a1,a2,…,an。
我们定义 mi(l,r) 表示下标区间 [l,r] 范围内所有元素的最小值,即 mi(l,r)=min(al,al+1,…,ar);
定义 sum(l,r) 表示下标区间 [l,r] 范围内所有元素之和,即 sum(l,r)=i=l∑rai=al+al+1+…+ar。
求:对于所有 1≤l≤r≤n,mi(l,r)×sum(l,r) 的最大值。
第一行,一个整数 n(1≤n≤105)。
第二行,n 个整数 a1,a2,…,an(1≤ai≤106)。
输出一个整数,表示对于所有 1≤l≤r≤n,mi(l,r)×sum(l,r) 的最大值。
6
3 1 6 4 5 2
60
取 l=3,r=5,则 mi(3,5)×sum(3,5)=min(6,4,5)×(6+4+5)=4×15=60。