Logo Wy Online Judge

WyOJ

时间限制:N/A 空间限制:N/A

CF1107E Vasya and Binary String

CF1107E Vasya and Binary String

题目描述

Vasya 有一个长度为 $n$ 的字符串 $s$,该字符串只包含数字 $0$ 和 $1$。他还有一个长度为 $n$ 的数组 $a$。 Vasya 会不断进行如下操作,直到字符串变为空:选择一段连续且字符相同的子串,将其从字符串中删除,并将剩余部分拼接起来(剩余部分可以为空)。例如,如果他从字符串 1**111**10 中删除子串 111,他将得到字符串 110。每当他删除长度为 $x$ 的子串时,他会获得 $a_x$ 分。 Vasya 想要让自己的总得分最大,请你帮助他实现这个目标。

输入格式

第一行包含一个整数 $n$($1 \le n \le 100$),表示字符串 $s$ 的长度。 第二行包含字符串 $s$,仅由数字 $0$ 和 $1$ 组成。 第三行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$),其中 $a_i$ 表示删除长度为 $i$ 的子串可以获得的分数。

输出格式

输出一个整数,表示 Vasya 能获得的最大总分。

说明/提示

在第一个样例中,最优的删除顺序为:11**0**1001 $\rightarrow$ 1110**0**1 $\rightarrow$ 111**0**1 $\rightarrow$ **1111** $\rightarrow$ $\varnothing$。 在第二个样例中,最优的删除顺序为:10**1**01 $\rightarrow$ 1**00**1 $\rightarrow$ **11** $\rightarrow$ $\varnothing$。 由 ChatGPT 4.1 翻译