编程题
### 问题描述 小蓝是一位勇敢的冒险家,他听说在遥远的神秘岛屿上隐藏着一处传说中的宝藏。这个宝藏被一位古老巫师所保护,只有真正勇敢的冒险家才能找到它。 为了寻找宝藏,小蓝需要通过一连串的难题。巫师给了他一个由小写英文字母组成的字符串 $s$,每个字母都有一个特定的权值 $w_i$。小蓝需要按照一定规则依次处理字符串中的字符,直到字符串为空。 处理规则如下:小蓝从字符串的最左端开始,每次选择当前字符的权值是否为当前全局最小值。如果是最小值,他将其移除并记下代价 $k$;如果不是最小值,他将该字符放到字符串的最右端,并记下代价 $m$。小蓝会一直按照这个规则处理字符串,直到字符串为空。 现在,请你帮助小蓝计算最终的最小代价。 ### 输入格式 第一行输入三个整数 $n,m,k$($1\le n,m,k\le 10^5$),分别表示字符串长度、字符放置到右端的代价和字符移除的代价。 第二行输入 $26$ 个整数 $w_i$($1 \le w_i \le 1000$),表示每个小写字母 `a` 到 `z` 的权值。 第三行输入一个长度为 $n$ 由小写英文字母组成的字符串 $s$。 ### 输出格式 输出一行,表示最终的最小代价。 ### 样例输入 ``` 4 1 1 3 3 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 abcd ``` ### 样例输出 ``` 6 ```
查看答案
赣ICP备20007335号-2