Submission #1196355

#TimeUsernameProblemLanguageResultExecution timeMemory
1196355OmarAlimammadzadeRack (eJOI19_rack)C++20
100 / 100
7 ms8008 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int N = 1e6 + 1, mod = 1e9 + 7;
int pw[N];

int f(int n, int k) {
    if (!k) {
        return 1;
    }
    return (f(n - 1, k / 2) + (k & 1) * pw[n - 1]) % mod;
}

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(nullptr);
    pw[0] = 1;
    int n, k;
    cin >> n >> k;
    for (int i = 1; i <= n; i++) {
        pw[i] = pw[i - 1] * 2 % mod;
    }
    cout << f(n, k - 1);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...