Submission #1326571

#TimeUsernameProblemLanguageResultExecution timeMemory
1326571Jawad_Akbar_JJUnscrambling a Messy Bug (IOI16_messy)C++20
100 / 100
2 ms568 KiB
#include <iostream> #include <vector> #include "messy.h" using namespace std; void write(int l, int r, string s){ if (l + 1 == r) return; string lft = s, rgt = s; int mid = (l + r) / 2, sz = mid - l; for (int i=0;i<sz;i++){ s[l + i] = '1'; add_element(s); s[l + i] = '0'; lft[l + i] = '1'; rgt[mid + i] = '1'; } write(l, mid, rgt); write(mid, r, lft); } vector<int> num; void read(int l, int r, string s, vector<int> vc){ if (l + 1 == r){ num[vc[0]] = l; return; } vector<int> vl, vr; string sl =s, sr =s; for (int i : vc){ s[i] = '1'; if (check_element(s)){ vl.push_back(i); sr[i] = '1'; } else{ vr.push_back(i); sl[i] = '1'; } s[i] = '0'; } read(l, (l + r) / 2, sl, vl); read((l + r) / 2, r, sr, vr); } vector<int> restore_permutation(int n, int r, int w){ string s; vector<int> v; for (int i=0;i<n;i++) s += '0', v.push_back(i); num.resize(n); write(0, n, s); compile_set(); read(0, n, s, v); return num; }

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...