제출 #1097292

#제출 시각아이디문제언어결과실행 시간메모리
1097292vjudge1Rack (eJOI19_rack)C++14
100 / 100
2 ms432 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int mod = 1e9+7;

ll mpow(ll b, ll p) {
    if (p == 0) return 1;
    ll a = mpow(b, p/2)%mod;
    if (p%2 == 0) return (a*a)%mod;
    return (((a*a)%mod)*b)%mod;
}

int main() {
    ll n, k; cin >> n >> k;
    ll ans = 0;
    for (int i = 1; i <= n; ++i) {
        if (k%2) k = (k+1)/2LL;
        else {
            k = k/2LL;
            ans += mpow(2, n-i);
            ans %= mod;
        } 
    }
    cout << (ans+1)%mod << endl;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...