n,k = list(map(int,input().split()))
s = list(input())
if n==1:
if k==1:
print(0)
else:
print("".join(s))
else:
if s[0]!='1' and k>0:
s[0]='1'
k-=1
for i in range(1,n):
if s[i]!='0' and k>0:
s[i]='0'
k-=1
print("".join(s))
#include <bits/stdc++.h>
using namespace std;
main(){
int n, k;
cin >> n >> k;
string s;
cin >> s;
if(n==1){
if(k==1){
cout << 0;
}else{
cout << s;
}
}else{
if(k>0 && s[0] != '1'){
k--;
s[0] = '1';
}
int i=1;
while(i < n && k > 0){
if(s[i] != '0'){
s[i] = '0';
k--;
}
i++;
}
cout << s;
}
}
33. Search in Rotated Sorted Array | 17. Letter Combinations of a Phone Number |
5. Longest Palindromic Substring | 3. Longest Substring Without Repeating Characters |
1312. Minimum Insertion Steps to Make a String Palindrome | 1092. Shortest Common Supersequence |
1044. Longest Duplicate Substring | 1032. Stream of Characters |
987. Vertical Order Traversal of a Binary Tree | 952. Largest Component Size by Common Factor |
212. Word Search II | 174. Dungeon Game |
127. Word Ladder | 123. Best Time to Buy and Sell Stock III |
85. Maximal Rectangle | 84. Largest Rectangle in Histogram |
60. Permutation Sequence | 42. Trapping Rain Water |
32. Longest Valid Parentheses | Cutting a material |
Bubble Sort | Number of triangles |
AND path in a binary tree | Factorial equations |
Removal of vertices | Happy segments |
Cyclic shifts | Zoos |
Build a graph | Almost correct bracket sequence |