Submission #462523

#TimeUsernameProblemLanguageResultExecution timeMemory
462523gesghaRack (eJOI19_rack)C++17
40 / 100
89 ms16724 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define fr(x, l, r) for(int x = l; x <= r; x++) #define rf(x, l, r) for(int x = l; x >= r; x--) #define fe(x, y) for(auto& x : y) #define fi first #define se second #define m_p make_pair #define pb push_back #define pw(x) (ull(1) << ull(x)) #define all(x) (x).begin(),x.end() #define sz(x) (int)x.size() #define mt make_tuple #define ve vector using namespace std; using namespace __gnu_pbds; typedef long long ll; typedef long double ld; typedef unsigned long long ull; typedef pair <ll,ll> pll; typedef pair <int,int> pii; typedef pair <ld,ld> pld; template<typename T> using oset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; #define fbo find_by_order #define ook order_of_key template<typename T> bool umn(T& a, T b) { return a > b ? a = b, 1 : 0; } template<typename T> bool umx(T& a, T b) { return a < b ? a = b, 1 : 0; } const ll inf = 1e18; const int intf = 1e9; const ll mod = 1e9 + 7; const ld eps = 0.00000001; const ll N = 2e6; ll t[4*N], n; void modify(int v, int len){ if(len == n){ t[v] = 1; return; } if(t[v * 2 + 1] >= t[v*2]){ modify(v * 2, len + 1); } else{ modify(v * 2 + 1, len + 1); } t[v] = t[v * 2] + t[v * 2 + 1]; } void get(ll& ans, ll v, ll len){ if(len == n){ ans = v; return; } if(t[v * 2 + 1] >= t[v*2]){ get(ans,v * 2, len + 1); } else{ get(ans, v * 2 + 1, len + 1); } } int main(){ #ifdef LOCAL freopen("input.txt", "r", stdin); freopen("output.txt","w", stdout); ios_base::sync_with_stdio(0); cin.tie(0); #else // freopen("mountains.in", "r", stdin); // freopen("mountains.out","w", stdout); ios_base::sync_with_stdio(0); cin.tie(0); #endif ll k; cin >> n >> k; while(--k){ modify(1,0); } ll ans = 0; // fr(i,1, 5*(n)){ // cout << i << " " << t[i] << endl; // } get(ans,1,0); cout << ans - pw(n) + 1 << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...