Submission #448542

#TimeUsernameProblemLanguageResultExecution timeMemory
448542Tenis0206Rack (eJOI19_rack)C++11
100 / 100
8 ms7816 KiB
#include <bits/stdc++.h>

using namespace std;
const int Mod = 1e9+7;
int n;
long long k,p[1000005];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin>>n>>k;
    p[0] = 1;
    for(int i=1;i<=n;i++)
    {
        p[i] = 1LL*p[i-1]*2%Mod;
    }
    long long rez = 1;
    while(k!=1)
    {
        if(k%2==0)
        {
            rez+=p[n-1];
            rez%=Mod;
        }
        k = (k+1)/2;
        --n;
    }
    cout<<rez<<'\n';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...