Submission #1143500

#TimeUsernameProblemLanguageResultExecution timeMemory
1143500fryingducRack (eJOI19_rack)C++20
100 / 100
28 ms34628 KiB
#include "bits/stdc++.h" using namespace std; #ifdef duc_debug #include "bits/debug.h" #else #define debug(...) #endif const int maxn = 1e6 + 6; const int mod = 1e9 + 7; long long n, k; int p[maxn]; long long calc(long long n, long long k) { if(n == 0) { return k; } long long ans = calc(n - 1, (k + 1) / 2) % mod; if(k % 2 == 0) { ans += p[n - 1]; if(ans >= mod) ans -= mod; } return ans; } void solve() { cin >> n >> k; cout << calc(n, k); } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); p[0] = 1; for(int i = 1; i < maxn; ++i) { p[i] = p[i - 1] + p[i - 1]; if(p[i] >= mod) { p[i] -= mod; } } solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...