제출 #795397

#제출 시각아이디문제언어결과실행 시간메모리
795397ln_e죄수들의 도전 (IOI22_prison)C++17
0 / 100
1 ms304 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/2-1;
      }
     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...