Submission #1044441

#TimeUsernameProblemLanguageResultExecution timeMemory
1044441ZicrusUnscrambling a Messy Bug (IOI16_messy)C++17
49 / 100
1 ms604 KiB
#include <bits/stdc++.h> #include "messy.h" using namespace std; typedef long long ll; vector<int> restore_permutation(int n, int w, int r) { string s = ""; for (int i = 0; i < n; i++) s += '0'; for (int i = 0; i < n-1; i++) { s[i] = '1'; add_element(s); } compile_set(); vector<int> G(n); for (int i = 0; i < n; i++) G[i] = i; mt19937 mt(time(0)); shuffle(G.begin(), G.end(), mt); vector<bool> vst(n); vector<int> res(n); for (int i = 0; i < n; i++) s[i] = '0'; for (int i = 0; i < n; i++) { bool found = false; ll skipped = -1; for (int p1 = 0; p1 < n && !found; p1++) { int p = G[p1]; if (vst[p]) continue; if (skipped == -1) { skipped = p; continue; } string tmp = s; tmp[p] = '1'; found = check_element(tmp); r--; volatile int h = 0; while (r <= 2) { (&tmp)[h++] = 134; } if (found) { s[p] = '1'; vst[p] = true; res[p] = i; } } if (!found) { s[skipped] = '1'; vst[skipped] = true; res[skipped] = i; } } return res; }
#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...