气球谜题
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}对于给定的 n 个气球,摆放成一排,颜色仅为红、黄、蓝中的一种。小红想要让颜色相同的气球连续的摆放在一起,为了达成这个目标,她需要将气球重新染色。第 i 个气球重新染成任意的颜色均需要 t_i 秒,询问需要消耗的最少时间是多少呢。

输入描述:

\hspace{15pt}第一行输入一个整数 n \left( 1\leqq n \leqq 2 \times 10^5 \right) 代表气球数量。
\hspace{15pt}第二行输入一个长度为 n 的、仅由 0,1,2 构成的字符串代表气球的初始颜色。其中,0,1,2 分别代表初始颜色为红、黄、蓝。
\hspace{15pt}第三行输入 n 个整数 t_1,t_2,\dots,t_n \left( 1 \leqq t_i \leqq 10^7 \right) 代表气球重新染色需要的时间。

输出描述:

\hspace{15pt}在一行上输出一个整数,代表最少需要的染色时间。
示例1

输入

复制
5
00000
1 2 3 4 5

输出

复制
0

说明

\hspace{15pt}由于初始时全部气球颜色都是一样的,所以不需要重新进行染色。
示例2

输入

复制
6
210102
1 1 4 5 1 4

输出

复制
3

说明

\hspace{15pt}其中一种最优的染色方案是将气球染色为 \texttt{ ,花费 3
示例3

输入

复制
6
001012
1 1 4 5 1 4

输出

复制
3

说明

\hspace{15pt}其中一种最优的染色方案是将气球染色为 \texttt{ ,花费 3