#include <bits/stdc++.h>
using namespace std;
int a[100005],w[100005],v[100005],dp[1000005];
int main()
{
string b;
int n,m;
cin >> n;
for (int i = 1;i <= n;i++) cin >> a[i];
cin >> m >> b;
int s = 0;
for (int i = 0;i < b.size();i++)
{
string c = b.substr(i,3);
if (c == "abc") s++;
}
m = s;
for (int i = 1;i <= n;i++)
{
w[i] = i;
v[i] = a[i];
}
for (int i = 1;i <= n;i++)
{
for (int j = w[i];j <= m;j++)
{
dp[j] = max(dp[j],dp[j - w[i]] + v[i]);
}
}
cout << dp[m];
return 0;
}
写法有点神金