Submission #1223799

#TimeUsernameProblemLanguageResultExecution timeMemory
1223799trimkusPrisoner Challenge (IOI22_prison)C++20
0 / 100
0 ms328 KiB
#pragma GCC diagnostic ignored "-Wparentheses" #include "prison.h" #include <bits/stdc++.h> using namespace std; std::vector<std::vector<int>> devise_strategy(int N) { vector<vector<int>> res; vector<int> add(N + 1); add[0] = 0; add[1] = -1; add[N] = -2; int bit = 1; res.push_back(add); while ((1 << (bit + 1)) < N) bit += 1; for (int i = bit; i >= 0; --i) { auto na = add; for (int j = 2; j < N; ++j) { if (j >> i & 1) { na[j] = i * 3; } else { na[j] = i * 3 - 1; } } res.push_back(na); na = add; na[0] = 1; for (int j = 2; j < N; ++j) { if (j >> i & 1) { na[j] = i * 3 + 1; } else { na[j] = -2; } } res.push_back(na); na = add; na[0] = 1; for (int j = 2; j < N; ++j) { if (j >> i & 1) { na[j] = -1; } else { na[j] = i * 3 + 1; } } res.push_back(na); } for (int i = 2; i < N; ++i) { for (int j = bit; j >= 0; --j) { if (i >> j & 1) { res[0][i] = (bit - j) * 3 + 1; break; } } } // for (auto& v : res) { // for (auto& u : v) { // cerr << u << " "; // } // cerr << "\n"; // } // cerr << "\n"; // cout << res.size() << "\n"; return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...