luogu#P16422. [IATI 2022] Reorder

[IATI 2022] Reorder

题目描述

给定 NN 个数 v1,v2,,vNv_1, v_2, \cdots, v_N 和一个整数 AA。你可以进行无限次相邻交换操作:交换 viv_ivi+1v_{i+1} 的费用为 vi+vi+1v_i + v_{i+1}。交换后得到的新数组为 v1,,vi+1,vi,,vNv_1, \cdots , v_{i+1}, v_i, \cdots, v_N。对于某个确定的数 RR,你的任务是求出所有交换操作的费用总和加上 (v1+v2++vR)×A(v_1 + v_2 + \cdots + v_R) \times A 的最小值。现给出 QQ 个询问,每个询问给出对应的 RiR_i,你需要对每个询问求出所能达到的最小总代价。所有询问相互独立。

输入格式

第一行有三个整数:NN —— 数组大小,QQ —— 询问个数,以及 AA —— (v1+v2++vR)(v_1 + v_2 + \cdots + v_R) 所乘的系数。

第二行包含 NN 个正整数 v1,,vNv_1, \cdots, v_N —— 初始数组。

第三行包含 QQ 个正整数 R1,,RQR_1, \cdots, R_Q

输出格式

QQ 行,每行输出对应询问的最小总代价。

4 1 5
4 1 2 3
2
25
4 1 6
4 1 2 3
2
29

提示

样例解释

样例 1:最优策略是不进行任何交换。此时代价为 (4+1)×5=25(4 + 1) \times 5 = 25

样例 2:我们可以先将 4411 交换,再将 4422 交换:

4 1 2 31 4 2 31 2 4 3

这两次交换的费用分别为 4+1=54 + 1 = 54+2=64 + 2 = 6。因此总代价为

5+6+(1+2)×6=29.5 + 6 + (1 + 2) \times 6 = 29.

数据范围

  • 1Q,RiN1 \le Q, R_i \le N
  • 1vi,A1061 \le v_i, A \le 10^6

子任务

编号 附加约束 < 分值
NN 其他
1 8\le 8 Q=1Q = 1 5
2 5000\le 5000 10
3 106\le 10^6 25
4 1.5×104\le 1.5 \times 10^4 10
5 5×104\le 5 \times 10^4 50

翻译由 DeepSeek V4 Pro 完成