Submission #586681

#TimeUsernameProblemLanguageResultExecution timeMemory
586681georgievskiyUnscrambling a Messy Bug (IOI16_messy)C++17
38 / 100
2 ms304 KiB
#include "messy.h"
#include <bits/stdc++.h>
using namespace std;


std::vector<int> restore_permutation(int n, int w, int r) {
    string s(n, '0');
    for (int i = 0; i < n; i++) {
        s[i] = '1';
        add_element(s);
    }
    compile_set();
    s = string(n, '0');
    vector<int> p(n, 0);
    random_device rd;
    mt19937 rnd(rd());
    vector<int> ord(n);
    iota(ord.begin(), ord.end(), 0);

    for (int i = 0; i < n; i++) {
        shuffle(ord.begin(), ord.end(), rnd);
        for (int j : ord) {
            if (s[j] == '1')
                continue;
            s[j] = '1';
            if (check_element(s)) {
                p[j] = i;
                break;
            } else
                s[j] = '0';
        }
    }
    return p;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...