样例全过,但只对了一个点
#include<bits/stdc++.h>
using namespace std;
struct node{
int r,id;
}a[500005];
int main(){
int n,k;
cin>>n>>k;
int top=n;
for(int i=1;i<=n;i++) {
char cr;
cin>>cr;
a[i].id=cr-'0';
a[i-1].r=a[i].id;
}
for(int i=1;i<=k;i++){
int f=0;
for(int j=1;j<n;j++){
if(a[j].id<a[j].r&&a[j].id!=0-1) {
a[j].id=-1;
a[j-1].r=a[j+1].id;
f=1;
break;
}
}
if(f==0){
if(a[top].id==0-1){
while(1){
top--;
if(a[top].id!=0-1) break;
}
}
a[top].id=0-1;
}
}
for(int i=1;i<=n;i++){
if(a[i].id!=0-1) cout<<a[i].id;
}
return 0;
}