#CF1866J. 夹克打包

夹克打包

夹克打包

  • 时间限制:2 秒
  • 内存限制:512 MiB

题目描述

有 NN 件夹克。最初所有夹克都在左栈中,从栈顶到栈底的颜色依次为 C1,C2,…,CNC_1,C_2,\ldots,C_N,右栈为空。

你需要把全部夹克打包。每个包中的夹克必须颜色相同,但同色夹克可以分在不同的包中。你可以进行以下操作:

  • 从任意一个栈的顶部取出任意多件连续且颜色相同的夹克,并把它们打成一包。无论打包多少件,本次操作耗时 XX。
  • 把任意一个栈顶的一件夹克移动到另一个栈顶,耗时 YY。

求打包全部夹克的最少总时间。

输入格式

第一行三个整数 N,X,YN,X,Y。

第二行 NN 个整数 C1,C2,…,CNC_1,C_2,\ldots,C_N。

输出格式

输出一个整数,表示最少总时间。

样例输入

8 7 2
4 4 2 4 1 2 2 1

样例输出

38

数据范围

对所有数据,1≤N≤4001\le N\le400,1≤X,Y≤1091\le X,Y\le10^9,1≤Ci≤N1\le C_i\le N。

子任务编号 分值 特殊限制
1 20 N≤9N\le9
2 X≤YX\le Y
3 N≤60N\le60
4 40 无特殊限制

每个测试点独立计分。