#include <stdio.h>
#define N 5005
int n, i, j, k, x, y, f[N][N];
long long m=1e18, v;
char s[N+N];
long long cal(long long l){
    long long i, j, k, r=l+n-1, v=0;
    for(i=l, j=r; i<=j; i++, j--){
        if(s[i] != s[j]) v += y;
    }//不相同只能修改
    return v;
}
int main(){
    scanf("%d%d%d%s", &n, &x, &y, s+1);
    for(i=1; i<=n; i++) s[i+n] = s[i];
    for(i=0; i<=n; i++){
        v = cal(1+i) + 1ll*x*i;
        if(v < m) m = v;
    }//枚举多少个放到后面去
    printf("%lld\n", m);
    return 0;
}

作者 crxis

发表回复