感觉这么做更清楚?
#include <bits/stdc++.h>
using namespace std;
#define __MADE return
#define IN 0
#define CHINA__ ;
string s;
int n,k,l,r,len;
void solve(){
cin>>n>>k;
cin>>s;
int kk=0;
for(int i=0;i<n;i++){
if(s[i]=='1'){
kk++;
int cnt=0,start=i;
while(s[i]=='1'){
i++;
cnt++;
}
if(kk==k-1){
l=i;
}
if(kk==k){
r=i;
}
}
}
reverse(s.begin()+l,s.begin()+r);
cout<<s<<endl;
return ;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int T=1;
while(T--) solve();
__MADE IN CHINA__
}