#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=25,AB=110;
int n,a,b;
string s;
int dp[N][AB][AB];
void work()
{
for(int i=1;i<s.length();i++)
{
for(int j=0;j<=a;j++)
{
for(int k=0;k<=b;k++)
{
if(i==1)
{
if(s[i]-'0'+1<=k) dp[i][j][k]=9;
dp[i][j][k]=max(dp[i][j][k],min(9ll,s[i]-'0'+j));
continue;
}
dp[i][j][k]=dp[i-1][j][k]*10+s[i]-'0';
//把下面这两行注释掉就过了
// if(j) dp[i][j][k]=max(dp[i][j][k],dp[i][j-1][k]);
// if(k) dp[i][j][k]=max(dp[i][j][k],dp[i][j][k-1]);
if(s[i]-'0'+1<=b) dp[i][j][k]=max(dp[i][j][k],dp[i-1][j][k-s[i]+'0'-1]*10ll+9ll);
for(int aa=0;s[i]+aa-'0'<=9&&aa<=j;aa++)
dp[i][j][k]=max(dp[i][j][k],dp[i-1][j-aa][k]*10ll+s[i]-'0'+aa);
}
}
}
return;
}
signed main()
{
cin>>s;
s=' '+s;
for(int i=1;i<s.length();i++)
n=n*10+s[i]-'0';
scanf("%lld%lld",&a,&b);
work();
printf("%lld",dp[s.length()-1][a][b]);
return 0;
}
把25、26行注释掉就过了,不注释就WA on #9