Submission #693210

#TimeUsernameProblemLanguageResultExecution timeMemory
693210testtttRack (eJOI19_rack)C++14
0 / 100
1079 ms212 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const ll mod = 1e9 + 7;

long long exp(long long x, long long y, long long p) {
	long long res = 1; x %= p;
	while (y) {
		if (y & 1) {
			res *= x; res %= p; 
		}
		x *= x; x %= p;
		y >>= 1;
	}
	return res;
}

int main(){
    ll n , k;cin >> n >> k;
    -- k;
    ll ans = 1;
    for(int i = 0;i <= 63;i ++){
        if((1 << i) & k){
            ans = (ans + exp(2 , n - i - 1 , mod)) % mod;
        }
    }
    cout << ans << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...