Submission #1119000

#TimeUsernameProblemLanguageResultExecution timeMemory
1119000Dan4LifeRack (eJOI19_rack)C++17
100 / 100
84 ms504 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n, k;
const int MOD = (int)1e9+7;
int poww(int a, int b){
	if(!b) return 1;
	int x = poww(a,b/2);
	x*=x, x%=MOD;
	if(b&1) x*=a, x%=MOD;
	return x;
}
int32_t main(){
	cin >> n >> k;
	int l = 1, r = poww(2,n);
	while(n--){
		if(k%2) k/=2, k++, r-=poww(2,n),r+=MOD,r%=MOD;
		else k/=2, l+=poww(2,n),l%=MOD;
	}
	cout << l << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...