Submission #1273980

#TimeUsernameProblemLanguageResultExecution timeMemory
1273980LithaniumUnscrambling a Messy Bug (IOI16_messy)C++20
100 / 100
2 ms584 KiB
#include <bits/stdc++.h> #include "messy.h" using namespace std; int N; vector<int> ans; void construct(int l, int r) { if (l >= r) return; string t = ""; for (int i = 0; i < N; i ++) t += '1'; for (int i = l; i <= r; i ++) t[i] = '0'; int mid = (l+r)/2; for (int i = l; i <= mid; i ++) { t[i] = '1'; add_element(t); t[i] = '0'; } construct(l, mid); construct(mid+1, r); } void solve(int l, int r, vector<int> id) { if (id.size() == 1) { ans[id[0]] = l; return; } vector<int> L, R; string t = ""; for (int i = 0; i < N; i ++) t += '1'; for (int i:id) t[i] = '0'; for (int i:id) { t[i] = '1'; if (check_element(t)) L.push_back(i); else R.push_back(i); t[i] = '0'; } int mid = (l+r)/2; solve(l, mid, L); solve(mid+1, r, R); } vector<int> restore_permutation(int n, int w, int r) { N = n; construct(0, N-1); compile_set(); vector<int> id; for (int i = 0; i < N; i ++) id.push_back(i); ans.resize(N); solve(0, N-1, id); return ans; }

Compilation message (stderr)

messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...