Submission #795415

#TimeUsernameProblemLanguageResultExecution timeMemory
795415ln_ePrisoner Challenge (IOI22_prison)C++17
30 / 100
24 ms2072 KiB
#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho #include "prison.h" using ll=long long; using ld=long double; int const INF=1000000005; ll const LINF=1000000000000000005; ll const mod=1000000007; ld const PI=3.14159265359; ll const MAX_N=3e5+5; ld const EPS=0.00000001; #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #define f first #define s second #define pb push_back #define mp make_pair #define endl '\n' #define sz(a) (int)a.size() #define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); std::vector<std::vector<int>> devise_strategy(int N) { vector<vector<int>>ans; for(ll i=0;i<=52;i++) { vector<int>X; if(i==0){ X.pb(0); for(ll j=1;j<=N;j++){ if((1ll<<12)&j){ X.pb(26); }else { X.pb(13); } } ans.pb(X); }else { if(i<=26){ X.pb(1); ll bit=0; if(i<=13){ bit=i-1; }else { bit=i-14; } for(ll j=1;j<=N;j++) { if((1ll<<bit)&j){ if(i<=13){ X.pb(-1); }else X.pb(27+bit-1); }else if(i>13){ X.pb(-2); }else { X.pb(27+bit-1); } } ans.pb(X); }else { X.pb(0); ll bit=i-27; for(ll j=1;j<=N;j++) { if((1ll<<bit)&j){ X.pb(14+bit); }else { X.pb(1+bit); } } ans.pb(X); } } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...