一. 题目描述
二. 输入描述和示例
三. 代码
#include<iostream>
using namespace std;
#define ll long long
ll dp[322222]={0};
string ss;
int main(){
ll n,a,b,c;
cin >> n >> a >> b >> c;
cin >> ss;
for(ll i=0;i<n;i++){
if(i>0)dp[i]=dp[i-1];
if(i>=3&&ss[i-3]=='n'&&ss[i-2]=='i'&&ss[i-1]=='c'&&ss[i]=='o')
dp[i]=max(dp[i],dp[i-3]+a);
if(i>=5&&ss[i-5]=='n'&&ss[i-4]=='i'&&ss[i-3]=='c'&&ss[i-2]=='o'&&ss[i-1]=='n'&&ss[i]=='i')
dp[i]=max(dp[i],dp[i-5]+b);
if(i>=9&&ss[i-9]=='n'&&ss[i-8]=='i'&&ss[i-7]=='c'&&ss[i-6]=='o'&&ss[i-5]=='n'&&ss[i-4]=='i'&&ss[i-3]=='c'&&ss[i-2]=='o'&&ss[i-1]=='n'&&ss[i]=='i')
dp[i]=max(dp[i],dp[i-9]+c);
}
cout << dp[n-1] << endl;
return 0;
}