0pts!!DP求助
查看原帖
0pts!!DP求助
1355418
ACshiruiqi楼主2024/12/3 23:52
#include<bits/stdc++.h>
using namespace std;
int n;
int a[100010],dp[100010];
int m,t,q;
string s;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	scanf("%d",&m);
	for(int i=1;i<=m;i++){
		for(int j=1;j<=i;j++){
			dp[i]=max(dp[i],dp[i-j]+a[j]);
		}
	}
	cin>>s;
	s+='.';
	for(int i=0;i<=m;i++){
		if(s[i]=='a'&&s[i+1]=='b'&&s[i+2]=='c'){
			t++;
			i=i+2;
		}else if(t){
			q+=dp[t];
			t=0;
		}
	}
	printf("%d",dp[3]);
	return 0;
}
2024/12/3 23:52
加载中...