CF237E Build String
题目描述
# 题目大意:
你需要使用一些字符串$s_1$,$s_2$,......,$s_n$来构建字符串t,你可以执行$|t|$ ($|t|$是字符串t的长度)次操作:
1. 从字符串$s_1$,$s_2$,......,$s_n$中选择一个非空字符串;
2. 从所选字符串中选择一个字符并将其写在纸上;
3. 从所选字符串中删除所选字符。
注意:执行上述操作后,字符串$s_1$,$s_2$,......,$s_n$中的字符总数减少1。
我们认为构建出了字符串t,当且仅当写在纸上的字符按顺序连起来为t。
但是还有其他限制:对于每个字符串$s_i$,有$a_i$为允许从字符串$s_i$中删除的最大字符数。
而且,从字符串$s_i$中每个删除字符的操作都需要一些代价。对于$s_i$,从中删除1个字符需要花费i的代价。
你的任务是计算根据给定规则构建字符串t所需的最小代价。
输入格式
无
输出格式
无
说明/提示
### 第一个样例:
1. 第一个字符串中取字符“b”和“z”;
2. 第二个字符串中取字符“a”,“e”和“b”。
在这种方案下,字符串t的代价是$2*1+3*2=8$。
### 第二个样例
1. 第一个字符串中取两个字符“a”;
2. 第二个字符串中取字符“c”;
3. 第三个字符串中取两个字符“a”;
4. 第四个字符串中取两个字符“b”。
在这种方案下,字符串t的代价是$2*1+1*2+2*3+2*4=18$。
### 第三个样例
无解,因为给定字符串中没有字符“y”。
输入中的所有字符串仅由小写英文字母组成。
$1≤|t|,|s_i|≤100$,$1≤n≤100$