CF1440A.Buy the String
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given four integers n , c0 , c1 and h and a binary string s of length n .
A binary string is a string consisting of characters 0 and 1 .
You can change any character of the string s (the string should be still binary after the change). You should pay h coins for each change.
After some changes (possibly zero) you want to buy the string. To buy the string you should buy all its characters. To buy the character 0 you should pay c0 coins, to buy the character 1 you should pay c1 coins.
Find the minimum number of coins needed to buy the string.
输入格式
The first line contains a single integer t ( 1≤t≤10 ) — the number of test cases. Next 2t lines contain descriptions of test cases.
The first line of the description of each test case contains four integers n , c0 , c1 , h ( 1≤n,c0,c1,h≤1000 ).
The second line of the description of each test case contains the binary string s of length n .
输出格式
For each test case print a single integer — the minimum number of coins needed to buy the string.
输入输出样例
输入#1
6 3 1 1 1 100 5 10 100 1 01010 5 10 1 1 11111 5 1 10 1 11111 12 2 1 10 101110110101 2 100 1 10 00
输出#1
3 52 5 10 16 22
说明/提示
In the first test case, you can buy all characters and pay 3 coins, because both characters 0 and 1 costs 1 coin.
In the second test case, you can firstly change 2 -nd and 4 -th symbols of the string from 1 to 0 and pay 2 coins for that. Your string will be 00000 . After that, you can buy the string and pay 5⋅10=50 coins for that. The total number of coins paid will be 2+50=52 .