Submission #532288

#TimeUsernameProblemLanguageResultExecution timeMemory
532288DariaRRack (eJOI19_rack)C++17
100 / 100
10 ms308 KiB
#include <bits/stdc++.h>
using namespace std; 

const int MOD = 1e9 + 7;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    long long n, k;
    long long v = 1;
    long long base = 1;
    cin >> n >> k;
    k--; 

    for (int i = 1; i <= n; i++) {
        if (k % 2 == 0) {
            v = ((long long)v * 2) % MOD;
        } else {
            v = ((long long)v * 2 + 1) % MOD;
        }
        k /= 2;
    }
    
    for (int i = 1; i <= n; i++) {
        base = ((long long)base * 2) % MOD;
    }

    cout << (v - (base - 1) + MOD) % MOD << "\n";
    
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...