题目描述
给定 N 个数 v1,v2,⋯,vN 和一个整数 A。你可以进行无限次相邻交换操作:交换 vi 与 vi+1 的费用为 vi+vi+1。交换后得到的新数组为 v1,⋯,vi+1,vi,⋯,vN。对于某个确定的数 R,你的任务是求出所有交换操作的费用总和加上 (v1+v2+⋯+vR)×A 的最小值。现给出 Q 个询问,每个询问给出对应的 Ri,你需要对每个询问求出所能达到的最小总代价。所有询问相互独立。
输入格式
第一行有三个整数:N —— 数组大小,Q —— 询问个数,以及 A —— (v1+v2+⋯+vR) 所乘的系数。
第二行包含 N 个正整数 v1,⋯,vN —— 初始数组。
第三行包含 Q 个正整数 R1,⋯,RQ。
输出格式
共 Q 行,每行输出对应询问的最小总代价。
4 1 5
4 1 2 3
2
25
4 1 6
4 1 2 3
2
29
提示
样例解释
样例 1:最优策略是不进行任何交换。此时代价为 (4+1)×5=25。
样例 2:我们可以先将 4 与 1 交换,再将 4 与 2 交换:
4 1 2 3 → 1 4 2 3 → 1 2 4 3
这两次交换的费用分别为 4+1=5 和 4+2=6。因此总代价为
5+6+(1+2)×6=29.
数据范围
- 1≤Q,Ri≤N
- 1≤vi,A≤106
子任务
| 编号 |
附加约束 |
< |
分值 |
|
N |
其他 |
|
| 1 |
≤8 |
Q=1 |
5 |
| 2 |
≤5000 |
10 |
| 3 |
≤106 |
25 |
| 4 |
≤1.5×104 |
– |
10 |
| 5 |
≤5×104 |
50 |
翻译由 DeepSeek V4 Pro 完成