https://codeforces.com/problemset/problem/447/B
简单的贪心,添加权重最大的值即可。
#include<bits/stdc++.h>
using namespace std;
int a[30],k;
int main(void)
{
string s; cin>>s;
cin>>k;
int temp=0;
for(int i=0;i<26;i++) cin>>a[i],temp=max(temp,a[i]);
long long int sum=0;
for(int i=0;i<s.size();i++)
{
sum+=(i+1)*a[s[i]-'a'];
}
for(int i=s.size()+1,j=1;j<=k;i++,j++)
{
sum+=i*temp;
}
cout<<sum;
return 0;
}