Submission #427740

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

vector<int> restore_permutation(int n, int w, int r) {
	vector<int> p(n);
	for (int i = 1; i <= n; ++i) {
		add_element(string(i, '1') + string(n - i, '0'));
	}
	compile_set();
	string s = string(n, '0');
	vector<int> ord(n);
	iota(ord.begin(), ord.end(), 0);
	for (int i = 0; i < n; ++i) {
		shuffle(ord.begin(), ord.end(), mt19937(random_device()()));
		for (int j : ord) {
			if (s[j] == '0') {
				s[j] = '1';
				if (check_element(s)) {
					p[j] = i;
					break;
				}
				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...