ABC D 求调
  • 板块学术版
  • 楼主SilverLi
  • 当前回复12
  • 已保存回复12
  • 发布时间2023/5/28 11:27
  • 上次更新2023/10/23 14:30:05
查看原帖
ABC D 求调
688783
SilverLi楼主2023/5/28 11:27
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=3e5+5;
string s;
int a,b,c,f[N][2];
signed main(){
	cin>>a>>b>>c>>s;
	f[0][1]=1e9;
	for(int i=0;i<s.size();++i) {
		if(s[i]=='a') {
			f[i+1][0]=min(f[i][0]+a,f[i][1]+a+c);
			f[i+1][1]=min(f[i][1]+b,f[i][0]+b+c);
		}
		else{
			f[i+1][1]=min(f[i][1]+b,f[i][0]+b+c);
			f[i+1][0]=min(f[i][0]+a,f[i][1]+a+c);
		}
	}
	cout<<min(f[s.size()][0],f[s.size()][1]);
	return 0;
}
2023/5/28 11:27
加载中...