Submission #284083

#TimeUsernameProblemLanguageResultExecution timeMemory
284083Patrusheva_AnnaRack (eJOI19_rack)C++14
0 / 100
1 ms384 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #pragma GCC optimize ("Ofast") #pragma GCC optimize ("unroll-loops") #pragma GCC optimize ("O3") #define ll long long #define pb push_back #define F first #define S second #define ull unsigned long long #define pii pair < int, int > #define ld long double using namespace std; using namespace __gnu_pbds; mt19937 gen(time(0)); template <typename T> using ordered_set=tree<T, null_type, less <T>, rb_tree_tag, tree_order_statistics_node_update>; const int N = 100000 * 5; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #ifdef LOCAL freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #else #endif ll n, k; cin >> n >> k; vector < ll > p; for (int i = n - 1; i >= 1; i--) p.pb((1ll << i)); ll ans = 1; for (int i = 0; i < (int)p.size(); i++) { ll kol = k / (1ll << i); ll ost = k % (1ll << i); if (kol % 2 == 1 && ost > 0) ans += p[i]; else if (kol % 2 == 0 && ost == 0) ans += p[i]; } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...