Submission #1234476

#TimeUsernameProblemLanguageResultExecution timeMemory
1234476omar1312Rack (eJOI19_rack)C++20
100 / 100
9 ms8008 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int mod = 1000000007, N = 20;

int main(){
cin.tie(0)->sync_with_stdio(0);
    ll n, k;
    cin>>n>>k;

    --k;

    vector<ll> v(n);

    for(int i = 0; i < n; ++i){
        v[i] = k & 1;
        k /= 2;
    }

    reverse(v.begin(), v.end());

    ll x = 1;

    ll ans = 0;
    for(int i = 0; i < n; ++i){
        ans += x * v[i];
        x *= 2;
        x %= mod;
        ans %= mod;
    }

    cout<<ans + 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...