Submission #1204493

#TimeUsernameProblemLanguageResultExecution timeMemory
1204493PlayVoltzUnscrambling a Messy Bug (IOI16_messy)C++20
100 / 100
1 ms584 KiB
#include "messy.h" #include <bits/stdc++.h> using namespace std; int n; vector<int> ans; void init(int l, int r){ if (l==r)return; int mid=(l+r)/2; string s(n, '1'); for (int i=l; i<=r; ++i)s[i]='0'; for (int i=l; i<=mid; ++i)s[i]='1', add_element(s), s[i]='0'; init(l, mid), init(mid+1, r); } void dnc(int l, int r, string s){ if (l==r){ for (int i=0; i<s.size(); ++i)if (s[i]=='0')ans[i]=l; return; } int mid=(l+r)/2; string sl=s, sr=s; for (int i=0; i<n; ++i)if (s[i]=='0'){ s[i]='1'; if (check_element(s))sr[i]='1'; else sl[i]='1'; s[i]='0'; } dnc(l, mid, sl), dnc(mid+1, r, sr); } vector<int> restore_permutation(int N, int w, int r){ n=N; ans.resize(n); init(0, n-1); compile_set(); dnc(0, n-1, string(n, '0')); 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...