제출 #883225

#제출 시각아이디문제언어결과실행 시간메모리
883225DrAymeinsteinRack (eJOI19_rack)C++17
40 / 100
1 ms348 KiB
// European Junior Olympiad in Informatics 2019
// Maribor, Slovenia, Day 1: rack

#include <iostream>

using namespace std;

const long int mod = 1000000007;

int n,k,i,r = 1;

int pow2(int x) {
    if (!x) {
        return 1;
    }
    if (x & 1) {
        return 2 * pow2(x / 2) % mod * pow2(x / 2) % mod;
    }
    return (pow2(x / 2) * pow2(x / 2) % mod);
}

int main() {
    cin >> n >> k;

    for (i = n - 1; i >= 0; i--) {
        if (k & 1) k++;
        else r = (r + pow2(i)) % mod;
        k = (k + 1) / 2;
    }
    cout << r << endl;

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