#include<iostream>
#include<cstring>
#include<cstdio>
#define long long int
using namespace std;
const int mx=1e5+5;
string s;
int n,len;
int num[45][mx],dp[45][mx];
int main(){
cin>>s>>n;
len=s.size();
for(int i=1;i<=len;i++){
for(int j=i;j<=len;j++){
num[i][j]=num[i][j-1]*10+(s[j-1]-'0'+0);
}
}
memset(dp,0x3f3f3f3f,sizeof(dp));
dp[0][0]=-1;
for(int i=1;i<=len;i++){
for(int k=0;k<=n;k++){
for(int j=i-1;j>=0&&num[j+1][i]<=n;j--){
if(num[j+1][i]<=k){
dp[i][k]=min(dp[i][k],dp[j][k-num[j+1][i]]+1);
}
}
}
}
if(dp[len][n]<45)cout<<dp[len][n];
else cout<<-1;
return 0;
}
求助!!!就还剩一点