怒发冲冠!凭栏处!
#include <bits/stdc++.h>
using namespace std;
int tms[21];
int dp[21];
int pts[21];
string k;
int n,m;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>pts[i];
for(int i=1;i<=n;i++){
dp[i]=pts[i];
for(int j=1;j<i;j++)
dp[i]=max(dp[i-j]+dp[j],dp[i]);
}
cin>>m;
cin>>k;
int combo=0;
k+="PPPPPPPP";
for(int i=0;i<k.size();){
if(k[i++]=='a'){if(k[i++]=='b'){if(k[i++]=='c'){
combo++;
continue;
}}}
tms[combo]++;
combo=0;
}
int ans=0;
for(int i=1;i<=n;i++){
ans+=dp[i]*tms[i];
}cout<<ans;
}