#TX00017. 晨跑(预处理最大值,枚举中点)
晨跑(预处理最大值,枚举中点)
题目 晨跑(预处理最大值,枚举中点)
📄 题目描述
给你数组 b[1..n],要求选择 1 <= i < m < j <= n,使表达式 (b[i] + i) + b[m] + (b[j] - j) 最大。
提示:可以预处理前缀最大值 max(b[i]+i) 与后缀最大值 max(b[j]-j),枚举中点 m。
⌨️ 输入格式
t 组测试数据。 每组:第一行一个整数 n。 第二行 n 个整数 b1..bn。
📤 输出格式
对每组数据输出一行一个整数,表示最大值。
🧪 样例
2
47
-4 17 2 -12 -10 -18 -2 3 -10 -6 -4 7 12 0 -16 -3 17 9 20 -1 -7 -17 14 -3 7 6 -19 -4 10 -9 0 7 -5 12 8 12 20 0 17 -17 17 -9 -7 3 -9 5 4
21
8 2 -18 -12 1 6 -1 -11 14 -1 16 -15 4 -1 -1 -19 2 -11 -6 -1 -4
50
31
📊 数据规模与约定
| 数据范围 | 约定 | 占比 |
|---|---|---|
| 对于 的数据 | 1 <= t <= 10,3 <= n <= 1e5, | b_i |