#4985. Problem 1. Min Max Subarrays

0

Problem 1. Min Max Subarrays

Problem 1. Min Max Subarrays

USACO 2025 February Contest, Platinum

注意:本题的时间限制为 3 秒,通常限制的 1.5 倍。

给定一个长为 NN 的整数数组 a1,a2,,aNa_1,a_2,\dots,a_N2N1062\le N \le 10^61aiN1\le a_i\le N)。输出所有 N(N+1)/2N(N+1)/2aa 的连续子数组的以下子问题的答案之和。

给定一个非空整数列表,交替执行以下操作(从第一个操作开始)直到列表大小恰好为一。

  1. 将列表内的两个相邻整数替换为它们的较小值。
  2. 将列表内的两个相邻整数替换为它们的较大值。

求最终余下的整数的最大可能值。

例如,


[4, 10, 3] -> [4, 3] -> [4]
[3, 4, 10] -> [3, 10] -> [10]

在第一个数组中,(10,3)(10, 3) 被替换为 min(10,3)=3\min(10, 3)=3,随后 (4,3)(4, 3) 被替换为 max(4,3)=4\max(4, 3)=4

输入格式(从终端 / 标准输入读入):

输入的第一行包含 NN

第二行包含 a1,a2,,aNa_1,a_2,\dots,a_N

输出格式(输出至终端 / 标准输出):

输出所有连续子数组的子问题的答案之和。

输入样例:


2
2 1

输出样例:


4

对于 [2][2] 答案为 22,对于 [1][1] 答案为 11,对于 [2,1][2, 1] 答案为 11

因此,我们的输出应当为 2+1+1=42+1+1 = 4

输入样例:


3
3 1 3

输出样例:


12

输入样例:


4
2 4 1 3

输出样例:


22

考虑子数组 [2,4,1,3][2, 4, 1, 3]

  1. 在 (1, 3) 上应用第一次操作,我们的新数组是 [2,4,1][2, 4, 1]
  2. 在 (4, 1) 上应用第二次操作,我们的新数组是 [2,4][2, 4]
  3. 在 (2, 4) 上应用第三次操作,我们最终的数是 22

可以证明 22 是最终的数的最大可能值。

测试点性质: 测试点 4-5:N100N\le 100。测试点 6-7:N5000N\le 5000。测试点 8-9:max(a)10\max(a)\le 10。测试点 10-13:没有额外限制。

供题:Benjamin Qi