Submission #1200479

#TimeUsernameProblemLanguageResultExecution timeMemory
1200479Joon_YorigamiUnscrambling a Messy Bug (IOI16_messy)C++17
100 / 100
1 ms584 KiB
#include <bits/stdc++.h> #include "messy.h" using namespace std; using ll = long long; vector<int> ans; int n; void build(int l,int r) { if(l==r) return; string str(n,'1'); int mid = l + (r-l)/2; for(int i=l;i<=r;i++) str[i]='0'; for(int i=l;i<=mid;i++) { str[i]='1'; add_element(str); str[i]='0'; } build(l,mid); build(mid+1,r); } void query(int l,int r,vector<int> &indices) { if(l==r) { ans[indices[0]]=l; return; } string str(n,'1'); for(auto idx:indices) str[idx]='0'; vector<int> left,right; for(auto idx:indices) { str[idx]='1'; if(check_element(str)) left.push_back(idx); else right.push_back(idx); str[idx]='0'; } int mid=l+(r-l)/2; query(l,mid,left); query(mid+1,r,right); } vector<int> restore_permutation(int N, int w, int r) { n=N; vector<int> indices; for(int i=0;i<n;i++) { indices.push_back(i); } ans.assign(n,-1); build(0,n-1); compile_set(); query(0,n-1,indices); 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...