# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1258404 | furina | Rack (eJOI19_rack) | C++20 | 0 ms | 328 KiB |
#include <bits/stdc++.h>
using namespace std;
using lol = long long;
const int MOD = 1e18 + 7;
lol N, K;
lol ans = 1;
lol Furina(lol A, lol B){
lol res = 1;
while(B != 0){
if(B % 2 == 1){
res = (res * A) % MOD;
}
B = B / 2;
A = (A * A) % MOD;
}
return res;
}
int main(){
cin >> N >> K;
for(int i = N - 1; i >= 0; i--){
if(K % 2 == 0){
ans = (ans + Furina(2, i) % MOD);
}
K = (K + 1) / 2;
}
cout << ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |