Submission #427154

#TimeUsernameProblemLanguageResultExecution timeMemory
427154SuhaibSawalha1Unscrambling a Messy Bug (IOI16_messy)C++17
20 / 100
1 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);
	iota(p.begin(), p.end(), 0);
	for (int i = 1; i < n; ++i) {
		string s = string(i, '1') + string(n - i, '0');
		add_element(s);
	}
	compile_set();
	int idx[n];
	memset(idx, -1, sizeof idx);
	string s = string(n, '0');
	for (int i = 0; i < n; ++i) {
		if (~idx[i]) {
			s[idx[i]] = '1';
			continue;
		}
		for (int j = 0; j < n; ++j) {
			if (s[j] == '0') {
				string w = s;
				w[j] = '1';
				if (check_element(w)) {
					idx[j] = i;
					swap(p[i], p[j]);
					s[j] = '1';
					break;
				}
			}
		}
	}
	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...