Submission #1006374

#TimeUsernameProblemLanguageResultExecution timeMemory
1006374JoksimKaktusRack (eJOI19_rack)C++17
100 / 100
4 ms460 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int MOD = 1e9 + 7; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(0); ll n,k; cin >> n >> k; ll add = 1; for(int i = 0;i < n;i++){ add *= 2; add %= MOD; } ll r = 1; ll add2 = add; while(r < k){ r *= 2; if(add2 % 2 == 1){ add2 += MOD; } add2/=2; } ll res = 1; while(r > 1){ if(k > r/2){ res += add2; k -= r/2; res %= MOD; } add2 *= 2; add2 %= MOD; r/=2; } cout << res << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...