#include<bits/stdc++.h>
using namespace std;
string a;
int k,last,l,ans[255],zz=1;
int main(){
cin>>a>>k;
l=a.size();
while(k>0){
int now,z=10;
for(int i=last;i<k+last+1;i++){
if(a[i]-'0'<z)z=a[i]-'0',now=i;
}
ans[zz++]=a[now]-'0';
a[now]='9'+2,k-=now-last;
last=now;
}
for(int i=1;i<zz;i++)cout<<ans[i];
return 0;
}
思路:每次从上个保留的数往后k个数中取最小作为保留的下一个数,并将中间的数全部删掉(k减少now−last),直到k变成0为止