Submission #887518

#TimeUsernameProblemLanguageResultExecution timeMemory
887518Ahmed57Copy and Paste 3 (JOI22_copypaste3)C++17
5 / 100
144 ms49808 KiB
#include <bits/stdc++.h>
using namespace std;
long long dp[2501][2501],n,a,b,c;
string s;
long long solve(int i,int cu){
	if(i==n){
		return 0;
	}
	if(dp[i][cu]!=-1)return dp[i][cu];
	long long c1 = solve(i+1,cu)+a;
	if(cu&&i+cu<=n)c1 = min(c1,solve(i+cu,cu)+c);
	if(i>cu)c1 = min(c1,solve(0,i)+b);
	return dp[i][cu] = c1;
}
signed main(){
	ios_base::sync_with_stdio(0);cin.tie(0);
	//freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
	memset(dp,-1,sizeof dp);
	cin>>n>>s>>a>>b>>c;
	cout<<solve(0,0)<<endl;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...