For this Question: Aniket has a binary string of length n. He challenges you to build the lexographically minimum possible string using this string.

In one move you can swap two adjacent characters of the string. You can make at most k swaps.

Note that you can swap the same pair of adjacent characters with indices i and i+1 arbitrary (possibly, zero) number of times. Each such swap is considered a separate move.The first line of the input contains two integers n and k — the length of the string and the number of swaps you can perform.

The second line of the test case contains one string consisting of n characters '0' and '1'.

Constraints
1 <= n <= 1000000
1 <= k <= n*nOutput a single binary string, the answer to the query.Sample Input
8 5
11011010

Sample Output
01011110

Sample Input
7 9
1111100

Sample Output
0101111, I have written this Solution Code: #include <bits/stdc++.h>
using namespace std;
#define sd(x) scanf("%d", &x)
#define sz(v) (int) v.size()
#define pr(v) For(i, 0, sz(v)) {cout<<v[i]<<" ";} cout<<endl;
#define slld(x) scanf("%lld", &x)
#define all(x) x.begin(), x.end()
#define For(i, st, en) for(ll i=st; i<en; i++)
#define tr(x) for(auto it=x.begin(); it!=x.end(); it++)
#define fast std::ios::sync_with_stdio(false);cin.tie(NULL);
#define pb push_back
#define ll long long
#define int long long
#define mp make_pair
#define F first
#define S second
typedef pair<int, int> pii;
#define MOD 1000000007
#define INF 1000000000000000007
#define MAXN 200005
 
// it's swapnil07 ;)
 
 
signed main(){
    fast    
    #ifdef SWAPNIL07
        freopen("/home/swapnil/Desktop/c++/input.txt","r",stdin);
        freopen("/home/swapnil/Desktop/c++/output.txt","w",stdout);
    #endif
    int q; 
    // cin>>q;
    q=1;
    while(q--){
        int n, k; cin>>n>>k;
        string s; cin>>s;
        vector<int> z;
        For(i, 0, n){
            if(s[i]=='0')
                z.pb(i);
        }
        For(i, 0, z.size()){
            if(z[i] > i){
                int need = z[i]-i;
                if(k > need){
                    z[i]=i;
                    k-=need;
                }
                else{
                    z[i]=z[i]-k;
                    break;
                }
            }
        }
        bool ans[n];
        memset(ans, true, sizeof(ans));
        For(i, 0, z.size()){
            ans[z[i]]=false;
        }
        For(i, 0, n){
            cout<<ans[i];
        }
        cout<<"\n";
    }
    return 0;
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?