This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "messy.h"
#define startt ios_base::sync_with_stdio(false);cin.tie(0);
typedef long long  ll;
using namespace std;
#define vint vector<int>
 
vector<int> restore_permutation(int n, int w, int r)
{
    string now;
    for(int i = 0; i < n; i++)
    {
        now.push_back('0');
    }
    for(int i = 0; i < n; i++)
    {
        now[i]++;
        assert(w != 0);
        add_element(now);
        w--;
    }
    compile_set();
    vector<string> bits;
    vint ans(n);
    string already;
    for(int i = 0; i < n; i++)
    {
        already.push_back('0');
    }
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(already[j] == '0')
            {
                string x = already;
                x[j]++;
                assert(r != 0);
                if(check_element(x))
                {
                    ans[i] = j;
                    already = x;
                    break;
                }
                r--;
            }
        }
    }
    vint ans2(n);
    for(int i = 0; i < n; i++)
    {
        ans2[ans[i]] = i;
    }
    return ans2;
}
/*
int32_t main(){
    startt
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
}
 
 
*/
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |