abc380C
作者:
Air1222
,
2024-11-18 21:16:33
,
所有人可见
,
阅读 2
//很无聊的小模拟
//别怕麻烦就能ac
#include <iostream>
#include <map>
using namespace std;
const int N = 5e5+10;
int cnt;
map<int,int>m;
int n,k;
int main()
{
cin>>n>>k;
string s;
cin>>s;
bool st=false;
int x;
int cnt=1;
int mark1,mark2;
for(int i=0;i<n;i++)
{
if(!st&&s[i]=='1')
{
if(cnt==k-1) mark1=i;
if(cnt==k) mark2=i;
x=cnt++;
st=true;
}
if(st&&s[i]=='1') m[x]++;
if(s[i]=='0') st=false;
}
for(int i=0;i<n;i++)
{
if(i==mark1)
for(int i=0;i<m[k];i++)
cout<<1;
if(i==mark2)
{
i+=m[k]-1;
//cout<<"?"<<m[k]<<"?"<<endl;
continue;
}
cout<<s[i];
}
}