Submission #855113

#TimeUsernameProblemLanguageResultExecution timeMemory
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...