Preparando MOJI
Pak Chanek has $$$N$$$ jackets that are stored in a wardrobe. Pak Chanek's wardrobe has enough room for two stacks of jackets, namely the left stack and the right stack. Initially, all $$$N$$$ jackets are in the left stack, while the right stack is empty. Initially, the $$$i$$$-th jacket from the top of the left stack has colour $$$C_i$$$.
Pak Chanek wants to pack all of those jackets into some packets, such that the jackets in the same packet has the same colour. However, it is possible for two jackets with the same colour to be in different packets.
Pak Chanek can do two kinds of operations:
Determine the minimum time to pack all jackets!
The first line contains three integers $$$N$$$, $$$X$$$, and $$$Y$$$ ($$$1 \leq N \leq 400$$$; $$$1\leq X,Y\leq10^9$$$) — the number of jackets, the time to do a packing operation, and the time to do a movement operation.
The second line contains $$$N$$$ integers $$$C_1, C_2, C_3, \ldots, C_N$$$ ($$$1 \leq C_i \leq N$$$) — the colour of each jacket.
An integer representing the minimum time to pack all jackets.
8 7 2 4 4 2 4 1 2 2 1
38
Let's denote the contents of the two stacks using arrays that represent the colours of the jackets in the stack from top to bottom. Initially, the two stacks form $$$[4, 4, 2, 4, 1, 2, 2, 1]$$$ and $$$[]$$$.
Pak Chanek can do the following sequence of operations:
In total, it requires a time of $$$2+2+7+2+2+7+2+7+7=38$$$ minutes to pack all jackets. It can be proven that there are no other ways that are faster.