Submission #289504

#TimeUsernameProblemLanguageResultExecution timeMemory
289504wdjpngRack (eJOI19_rack)C++17
40 / 100
1 ms384 KiB
#include <bits/stdc++.h>    

#define rep(i, n, a) for (int i = a; i < n; i++)
#define lint long long
using namespace std;

const int MOD = 1e9+7;
signed main()
{
    int n, k;
    cin >> n >> k;

    int res=0;
    vector<int>bits(n);
    bits[0]=1;
    
    rep(i, n, 1){
        bits[i]=bits[i-1]*2;
        bits[i]%=MOD;
    }

    k--;
    rep(i, n, 0){
        if((k>>i)&1){
            res+=bits[n-i-1];
            res%=MOD;
        }
    }

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