제출 #795816

#제출 시각아이디문제언어결과실행 시간메모리
795816ln_e죄수들의 도전 (IOI22_prison)C++17
56 / 100
11 ms1236 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<=26;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 { ll bit=0; if(i<=13){ bit=i-1; }else bit=i-14; if(bit%2==0){ X.pb(1); for(ll j=1;j<=N;j++) { if((1ll<<bit)&j){ if(i<=13){ X.pb(-1); }else if((1ll<<(bit-1))&j){ X.pb(14+bit-1); }else X.pb(bit); }else if(i>13){ X.pb(-2); }else if((1ll<<(bit-1))&j){ X.pb(14+bit-1); }else X.pb(bit); } ans.pb(X); }else { X.pb(0); for(ll j=1;j<=N;j++) { if((1ll<<bit)&j){ if(i<=13){ X.pb(-2); }else if((1ll<<(bit-1))&j){ X.pb(14+bit-1); }else X.pb(bit); }else if(i>13){ X.pb(-1); }else if((1ll<<(bit-1))&j){ X.pb(14+bit-1); }else X.pb(bit); } ans.pb(X); } } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...