제출 #855113

#제출 시각아이디문제언어결과실행 시간메모리
855113willychanChorus (JOI23_chorus)C++14
40 / 100
77 ms4700 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
//#include<bits/extc++.h>
//__gnu_pbds
const int N = 505;
ll dp[N][N];
int Bpa[N];
	

int main(){
	ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int n,K;cin>>n>>K;			
	string s;cin>>s;
	int pa = 0;
	int pb = 0;
	for(int i=1;i<=2*n;i++){
		if(s[i-1]=='A') pa++;
		if(s[i-1]=='B') Bpa[++pb]=pa;
	}
	for(int i=1;i<=n;i++) dp[i][0]=1e15;
	for(int k=1;k<=K;k++){
		for(int i=1;i<=n;i++){
			dp[i][k] = 1e18;
			int cost = 0;
			for(int j=1;j<=i;j++){
				cost+=max(0,i-Bpa[i-j+1]);
				dp[i][k] = min(dp[i][k],cost+dp[i-j][k-1]);
			}
			//cout<<dp[i][k]<<" ";
		}
		//cout<<"\n";
	}
	cout<<dp[n][K]<<"\n";
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...