Submission #1221494

#TimeUsernameProblemLanguageResultExecution timeMemory
1221494vehamRack (eJOI19_rack)C++20
100 / 100
5 ms328 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<bool> vb;

ll const MOD = 1e9 + 7;

int main(){
    ll n,k;
    cin >> n >> k;
    k--;
    vb bits(n);
    for(int i = 0;k;i++,k>>=1) bits[i] = k&1;
    reverse(bits.begin(),bits.end());
    ll p = 1,ans = 1;
    for(int i = 0;i < n;i++){
        if(bits[i]) ans += p;
        p *= 2;
        ans %= MOD;
        p %= MOD;
    }
    cout << ans;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...