Submission #772819

#TimeUsernameProblemLanguageResultExecution timeMemory
772819Magikarp4000Prisoner Challenge (IOI22_prison)C++17
36.50 / 100
16 ms1572 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; #define OPTM ios_base::sync_with_stdio(0); cin.tie(0); #define INF int(1e9+7) #define ln '\n' #define ll long long #define ull unsigned long long #define ui unsigned int #define us unsigned short #define FOR(i,s,n) for (int i = s; i < n; i++) #define FORR(i,n,s) for (int i = n; i > s; i--) #define FORX(u, arr) for (auto u : arr) #define PB push_back #define in(v,x) (v.find(x) != v.end()) #define F first #define S second #define PII pair<int, int> #define PLL pair<ll, ll> #define UM unordered_map #define US unordered_set #define PQ priority_queue #define ALL(v) v.begin(), v.end() const ll LLINF = 1e18+1; const int MAXM = 39, LOG = 12; std::vector<std::vector<int>> devise_strategy(int n) { vector<vector<int>> v(MAXM+1,vector<int>(n+1,0)); FOR(i,0,LOG+1) { FOR(j,1,n+1) { v[i][j] = (j&(1<<(LOG-i))) ? i*2+1+LOG : i*2+2+LOG; } } FOR(i,LOG+1,MAXM+1) { v[i][0] = 1; int pos = LOG-(i-LOG-1)/2, val = (i-LOG)%2; FOR(j,1,n+1) { int cur = j&(1<<pos); if (cur && !val) v[i][j] = -1; else if (!cur && val) v[i][j] = -2; else v[i][j] = LOG-(pos-1); } } // FOR(i,0,MAXM+1) { // FOR(j,0,n+1) cout << v[i][j] << " "; // cout << ln; // } return v; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...