# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
967565 | 2024-04-22T12:45:27 Z | MarwenElarbi | Unscrambling a Messy Bug (IOI16_messy) | C++17 | 1 ms | 604 KB |
#include<bits/stdc++.h> using namespace std; void add_element(std::string x); bool check_element(std::string x); void compile_set(); string text; set<int> st; void dav_add(int l,int r){ int mid=(r+l)/2; if(l==r) return; for (int i = l; i <= mid; ++i) { text[i]='1'; //cout <<text<<endl; add_element(text); text[i]='0'; } for (int i = mid+1; i <= r ; ++i) { text[i]='1'; } dav_add(l,mid); for (int i = mid+1; i <= r ; ++i) { text[i]='0'; } for (int i = l; i <= mid; ++i) { text[i]='1'; } dav_add(mid+1,r); for (int i = l; i <= mid; ++i) { text[i]='0'; } return; } vector<int> res; void dav_check(int l,int r){ vector<int> left; vector<int> right; if(l==r){ res[l]=*st.begin(); return; } for(auto u:st){ text[u]='1'; //cout <<text<<endl; if(!check_element(text)){ right.push_back(u); }else left.push_back(u); text[u]='0'; }//cout <<endl; for (int i = 0; i < right.size(); ++i) { text[right[i]]='1'; st.erase(right[i]); } int mid=(r+l)/2; dav_check(l,mid); for (int i = 0; i <right.size(); ++i) { text[right[i]]='0'; st.insert(right[i]); } for (int i = 0; i < left.size(); ++i) { text[left[i]]='1'; st.erase(left[i]); } dav_check(mid+1,r); for (int i = 0; i < left.size(); ++i) { text[left[i]]='0'; st.insert(left[i]); } return; } std::vector<int> restore_permutation(int n, int w, int r) { text=""; res.resize(n); for (int i = 0; i < n; ++i) { st.insert(i); text.push_back('0'); } dav_add(0,n-1); compile_set(); dav_check(0,n-1); return res; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | n = 8 |
2 | Correct | 0 ms | 348 KB | n = 8 |
3 | Correct | 0 ms | 348 KB | n = 8 |
4 | Correct | 1 ms | 348 KB | n = 8 |
5 | Correct | 1 ms | 428 KB | n = 8 |
6 | Correct | 1 ms | 348 KB | n = 8 |
7 | Correct | 0 ms | 440 KB | n = 8 |
8 | Correct | 0 ms | 348 KB | n = 8 |
9 | Correct | 0 ms | 348 KB | n = 8 |
10 | Correct | 0 ms | 348 KB | n = 8 |
11 | Correct | 0 ms | 348 KB | n = 8 |
12 | Correct | 1 ms | 348 KB | n = 8 |
13 | Correct | 1 ms | 348 KB | n = 8 |
14 | Correct | 0 ms | 348 KB | n = 8 |
15 | Correct | 0 ms | 348 KB | n = 8 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | grader returned WA |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 436 KB | n = 32 |
2 | Correct | 1 ms | 348 KB | n = 32 |
3 | Correct | 1 ms | 348 KB | n = 32 |
4 | Incorrect | 1 ms | 436 KB | grader returned WA |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 604 KB | grader returned WA |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 604 KB | grader returned WA |
2 | Halted | 0 ms | 0 KB | - |