# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
966949 | 2024-04-20T17:17:25 Z | MarwenElarbi | Unscrambling a Messy Bug (IOI16_messy) | C++17 | 1 ms | 436 KB |
#include <bits/stdc++.h> //#include "messy.h" using namespace std; void add_element(std::string x); bool check_element(std::string x); void compile_set(); std::vector<int> restore_permutation(int n, int w, int r){ vector<int> res(n); string cur; set<int> st; int a=1; for (int i = 0; i < 8; ++i) { res[i]=i; st.insert(a); a*=2; } for (int i = 0; i < n; ++i) { cur.push_back('0'); } for (int i = 0; i < n; ++i) { cur[i]='1'; add_element(cur); } compile_set(); int ok[(1<<n)]; vector<int> compare[n+1]; //cout <<"nabba"<<endl; for (int i = 0; i < (1<<n); ++i) { string ne=""; for (int j = 0; j < n; ++j) { if(i&(1<<j)) ne.push_back('1'); else ne.push_back('0'); } //cout <<compiled<<" "<<ne<<endl; compare[__builtin_popcount(i)].push_back(i); ok[i]=check_element(ne); //cout <<ne<<" "<<i<<" "<<ok[i]<<endl; } //cout <<ok[2]<<endl; for (int i = 1; i <= n; ++i) { //cout <<i<<" "<<compare[i].size()<<endl; for (int j = 0; j < compare[i].size(); ++j) { //cout <<compare[i][j]<<endl; if(ok[compare[i][j]]==0||st.count(compare[i][j])) continue; else { //cout <<"hey"<<" "<<i<<" "<<compare[i][j]<<endl; for (int k = i; k < n; ++k) { if((1<<k)&compare[i][j]){ //cout <<i-1<<" "<<k<<endl; res[i-1]=k; res[k]=i-1; return res; } } } } } return res; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | n = 8 |
2 | Correct | 0 ms | 348 KB | n = 8 |
3 | Incorrect | 0 ms | 432 KB | grader returned WA |
4 | Halted | 0 ms | 0 KB | - |
# | 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 | Incorrect | 0 ms | 344 KB | grader returned WA |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | grader returned WA |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 436 KB | grader returned WA |
2 | Halted | 0 ms | 0 KB | - |