Submission #1258390

#TimeUsernameProblemLanguageResultExecution timeMemory
1258390kaitouRack (eJOI19_rack)C++20
40 / 100
0 ms328 KiB
#include <bits/stdc++.h>
using namespace std;
using L = long long;

const L MOD =  1e10 + 7;
L n, k, hasil = 1;

L modpow(L a,L b){
    L res = 1;
    
    while (b > 0){
        if (b & 1 ){
            res = (res * a) % MOD;
        }
            a = (a * a) % MOD;
            b >>= 1;
        
    }
    return res;
}

int main() {
    cin >> n  >> k;
    
    for (int i = n-1; i >= 0; i--){
        if (k % 2 == 0){
            hasil = (hasil + modpow(2 , i)) % MOD;
            
        }
        
        k = (k + 1)/2;
    }
	cout << hasil;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...