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"
using namespace std;
vector<int> restore_permutation(int n, int w, int r) 
{
    vector<int> ans(n);
    string tmp(n, '0');
    for (int i = 0; i < n; i++) {
        tmp[i] = '1';
        add_element(tmp);
    }
    w++, r++;
    tmp = string(n, '0');
    compile_set();
    vector<int> rem;
    for (int i = 0; i < n; i++) rem.push_back(i);
    srand(chrono::steady_clock::now().time_since_epoch().count());
    for (int i = 0; i < n - 1; i++) {
        random_shuffle(rem.begin(), rem.end());
        for (int j : rem) {
            if (tmp[j] == '1') continue;
            tmp[j] = '1';
            if (check_element(tmp)) {
                ans[j] = i;
                break;
            }
            tmp[j] = '0';
        }
    }
    for (int i = 0; i < n; i++) if (tmp[i] == '0') ans[i] = n - 1;
    return ans;
}
| # | 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... |