제출 #894386

#제출 시각아이디문제언어결과실행 시간메모리
894386vjudge1Rack (eJOI19_rack)C++17
20 / 100
1042 ms74244 KiB
#include <bits/stdc++.h> using namespace std; #define speed ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #define rall(x) x.rbegin(), x.rend() #define all(x) x.begin(), x.end() #define sz(x) (int)x.size() #define mp make_pair #define pb push_back #define F first #define S second #define nl '\n' #define int long long typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef long double ld; const int N = 1e6 + 5; const int M = 1e3 + 5; const int inf = 1e9 + 123; const ll infl = 1e15 + 10; const int mod = 998244353; const int P = 31; ll n, k; vector <pair <string, int> > ans; void go(int v, int tl, int tr, string s){ if(tl == tr){ reverse(all(s)); ans.pb(mp(s, tl)); return; } int tm = (tl + tr) >> 1; go(v + v, tl, tm, s + '0'); go(v + v + 1, tm + 1, tr, s + '1'); } void solve() { cin >> n >> k; go(1, 1, (1<<n), ""); sort(all(ans)); cout << ans[--k].S << nl; } signed main() { speed; int T = 1; // cin >> T; while (T--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...