Submission #463618

#TimeUsernameProblemLanguageResultExecution timeMemory
463618EliasRack (eJOI19_rack)C++17
100 / 100
13 ms7884 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define modder 1000000007LL vector<int> power2Mod; int solve(int n, int k) { if (n == 0) return 1; if (k % 2LL) // k is odd -> left subtree return solve(n - 1LL, (k + 1LL) / 2LL); else return (solve(n - 1, k / 2) + power2Mod[n - 1]) % modder; } signed main() { cin.tie(0); ios_base::sync_with_stdio(false); int n, k; cin >> n >> k; power2Mod = vector<int>(n, 1); for (int i = 1; i < n; i++) { power2Mod[i] = (power2Mod[i - 1] * 2) % modder; } cout << solve(n, k); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...