#SLT01A. 2026年S组模拟赛10连测第1场-T1 复位成本

2026年S组模拟赛10连测第1场-T1 复位成本

项目 内容
输入文件名 belt.in
输出文件名 belt.out
可执行文件名 belt
每个测试点时限 1.0 秒
内存限制 512 MiB
测试点数目 20
是否等分 是

结果比较方式为全文比较(过滤行末空格及文末换行)。

题目描述

某快递分拣中心有一条水平传送带,带面上从带首到带尾依次放着 nn 个包裹,编号为 1∼n1 \sim n,每个编号恰好出现一次。按照作业规程,分拣完成的标准是:带面上的包裹从带首到带尾恰好按编号 1,2,…,n1, 2, \dots, n 的顺序排列。

中心配有一台机械臂。机械臂每执行一次操作,可以抓起带面上任意位置的一个包裹,把它放到带首(所有包裹的最前面),本次操作计入代价 AA;或者把它放到带尾(所有包裹的最后面),本次操作计入代价 BB。操作次数不限,同一个包裹可以被抓起多次。

调度室需要按当班的带面情况核算作业成本。给定初始时带面上的包裹排列,请计算使带面达到分拣标准所需的最小总代价。

输入格式

从文件 belt.in 中读入数据。

  • 第一行三个整数 n,A,Bn, A, B,分别表示包裹数量、放到带首的单次代价、放到带尾的单次代价;
  • 第二行 nn 个整数 p1,p2,…,pnp_1, p_2, \dots, p_n,表示初始时从带首到带尾各包裹的编号。

输出格式

输出到文件 belt.out 中。

输出一行一个整数,表示达到分拣标准所需的最小总代价。

样例

5 2 2
4 5 1 2 3
4

解释:一种可行的作业过程是:把包裹 33 搬到带首,带面变为 3,4,5,1,23,4,5,1,2,代价 22;把包裹 22 搬到带首,带面变为 2,3,4,5,12,3,4,5,1,代价 22;把包裹 11 搬到带首,带面变为 1,2,3,4,51,2,3,4,5,代价 22。共 33 次操作,总代价 66。这个过程达到了分拣标准,但代价并非最小。

6 100 1
6 5 4 3 2 1
5
8 1 1000000000
8 1 7 2 6 3 5 4
7

解释:一种可行的作业过程是:把包裹 8,7,6,5,4,3,2,18,7,6,5,4,3,2,1 依次搬到带首,每搬一个,带面上未搬动部分的相对顺序不变,88 次操作后带面变为 1,2,3,4,5,6,7,81,2,3,4,5,6,7,8,每次代价 11,总代价 88。这个方案还有改进余地,最小总代价为 77。

数据范围

对于所有测试数据,保证:

  • 1≤n≤2×1051 \le n \le 2 \times 10^5;
  • 1≤A,B≤1091 \le A, B \le 10^9;
  • p1,p2,…,pnp_1, p_2, \dots, p_n 是 1∼n1 \sim n 的一个排列。
测试点编号 nn 特殊性质
1∼31 \sim 3 ≤10\le 10 无
4∼84 \sim 8 ≤2000\le 2000
9∼129 \sim 12 ≤2×105\le 2 \times 10^5 A
13∼2013 \sim 20 无
  • 特殊性质 A:A=BA = B。
难度 未评定
通过率 20%
尝试 5
通过 1
ID
3769
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者