#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[5];
int ton[519];
int len;
string s,m;
bool cmp2(int a,int b){
return a>b;
}
int main(){
ll ans=0;
for(int i=1;i<=5;i++){
cin >> a[i];
}
cin >> len;
getline(cin,m);
getline(cin,s);
for(int i=0;i<len;i++){
ton[s[i]]++;
}
sort(a+1,a+6);
sort(ton+1,ton+515,cmp2);
int t=0;
for(int i=1;i<=300;i++){
if(ton[i]>0){
t++;
if(t==1){
ans+=ll(a[1]*ton[i]);
}else if(t>=2&&t<=17){
ans+=ll(a[2]*ton[i]);
}else if(t>=18&&t<=25){
ans+=ll(a[3]*ton[i]);
}else if(t>=26&&t<=33){
ans+=ll(a[4]*ton[i]);
}else if(t>=34&&t<=45){
ans+=ll(a[5]*ton[i]);
}
}
}
cout << ans;
return 0;
}
上图是打字时,每根手指所控制的区域。每按一次键,拇指的疲劳度为a,食指的疲劳度为
b,中指的疲劳度为c,无名指的疲劳度为d,小指的疲劳度为e。现在让你来设计键盘,即
对于一个字符,安排一个键,一个键只拥有一个字符。使得打印给定的文章的疲劳度最小。
规定:键盘只包括图中第2行’`‘到’',第三行’Q’到’]‘,第四行’A’到’‘’,第五行’Z’到’/',第六行
的空格键。字符只包括键盘上的字符,对于一个键有2个字符的,只考虑下面那个字符,即
对于一个键X,它代表的字符是按一下X所打印的字符,而不是SHIFT+X打印出来的字
符。一切标准以上图为主,输入不会出现其他字符。(英文字母为大写)
输入格式:
第一行:a,b,c,d,e
第二行:一个数字,N,表示有N个字符
第三行:有N个字符
输出格式:
只有一行:ANS