加入的K个字符x使w[x]最大即可 根据题中公式求出结果
#include<bits/stdc++.h>
using namespace std;
int w[120];
char s[1020];
int main()
{
int k;
scanf("%s%d",s,&k);
int Max=0,sum=0,len=strlen(s);
for(int i=0;i<26;i++)
{
scanf("%d",&w[i]);
if(w[i]>Max)
Max=w[i];
}
for(int i=len+1;i<=len+k;i++)
sum+=i;
sum*=Max;
for(int i=0;i<len;i++)
sum+=w[s[i]-'a']*(i+1);
printf("%d\n",sum);
return 0;
}