AcWing 4792. 最大价值
原题链接
中等
作者:
sonic407
,
2023-01-08 21:31:59
,
所有人可见
,
阅读 113
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
string s;
int k, l = 1, m = 0, a[26];
int main() {
cin >> s;
scanf("%d", &k);
for (int i = 0; i < 26; i ++ ) {
scanf("%d", &a[i]);
m = max(m, a[i]);
}
int d = 0;
for (; l <= s.size(); l ++ ) {
int i = s[l - 1] - 'a';
d += a[i] * l;
}
for (int i = 0; i < k; i++, l++) {
d += m * l;
}
// d += m * (l + l + k - 1) * k / 2;
printf("%lld\n", d);
return 0;
}