AcWing 3770. 最小消耗
原题链接
简单
作者:
dai学生
,
2021-07-17 20:30:18
,
所有人可见
,
阅读 234
#include<iostream>
using namespace std;
int main() {
int T = 1;
cin >> T;
while(T--) {
int n, a, b, c;
cin >> n >> a >> b >> c;
string s;
cin >> s;
int ret = 0;
if(abs(a - b) > c) {
if(a < b) {
for(int i = 0; i < n; i++) {
if(s[i] == '0') ret += a;
else ret += a + c;
}
} else {
for(int i = 0; i < n; i++) {
if(s[i] == '1') ret += b;
else ret += b + c;
}
}
} else {
for(int i = 0; i < n; i++) {
if(s[i] == '0') ret += a;
else ret += b;
}
}
cout << ret << endl;
}
return 0;
}