Submission #1312170

#TimeUsernameProblemLanguageResultExecution timeMemory
1312170VMaksimoski008Rack (eJOI19_rack)C++20
100 / 100
7 ms8004 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

constexpr int mod = 1e9 + 7;

signed main() {
    ll n, m, ans=1; cin >> n >> m;
    vector<ll> pw(n, 1);
    for(int i=1; i<n; i++)
        pw[i] = (pw[i-1] * 2) % mod;

    m--;
    for(int b=0; b<=min(n-1, 61ll); b++)
        if(m % (1ll << (b + 1)) >= (1ll << b)) ans = (ans + pw[n-b-1]) % mod;
    cout << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...