Hi,
I get WA on test case 23
Problem Link ==> https://mirror.codeforces.com/problemset/problem/73/C
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e2+5;
string s;
long long k,change;
long long dp[MAXN][27][MAXN];
map<char,map<char,long long> > adjList;
long long Max(long long i,long long prev,long long left){
if(i==s.size()) return 0;
if(dp[i][prev][left]!=-1) return dp[i][prev][left];
long long res=Max(i+1,(int)s[i],left) + adjList[prev][s[i]];
if(left!=0){
for(int j=97;j<=122;++j){
char now = (char)(j);
if(now==s[i]) continue;
long long ind = Max(i+1,j,left-1) + adjList[prev][now];
res = max(res,ind);
}
}
dp[i][prev][left] = res;
return dp[i][prev][left];
}
int main()
{
for(long long i=0;i<=100;++i){
for(long long j=0;j<=26;++j){
for(long long f=0;f<=100;++f) dp[i][j][f] = -1;
}
}
cin >> s;
cin >> k >> change;
for(long long i=0;i<change;++i){
char a,b;long long c;cin >> a >> b >> c;
adjList[a][b]=c;
}
cout << 1ll * Max(0,'?',k);
}
Thanks in advance:)