dp,WA了4个点,不知道哪里错了。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define int long long
using std::cin;using std::cout;
constexpr int N=300005;
int n,x,y,z,f[N][2];
std::string s;
signed main(){
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
std::ios::sync_with_stdio(false);
cin.tie(nullptr);cout.tie(nullptr);
cin>>x>>y>>z>>s;n=s.size();s=" "+s;f[0][1]=1e18;
for(int i=1;i<=n;++i){
if(s[i]=='A'){
f[i][0]=std::min(f[i-1][0]+y,f[i-1][1]+x+z);
f[i][1]=std::min(f[i-1][0]+x+z,f[i-1][1]+x);
}else if(s[i]=='a'){
f[i][0]=std::min(f[i-1][0]+x,f[i-1][1]+x+z);
f[i][1]=std::min(f[i-1][0]+x+z,f[i-1][1]+y);
}
}
// for(int i=1;i<=n;++i) cout<<f[i][0]<<(i==n?'\n':' ');
// for(int i=1;i<=n;++i) cout<<f[i][1]<<(i==n?'\n':' ');
cout<<std::min(f[n][0],f[n][1]);
return 0;
}