Submission #982520

#TimeUsernameProblemLanguageResultExecution timeMemory
982520NomioRack (eJOI19_rack)C++17
100 / 100
9 ms8028 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int mod = 1e9 + 7;
int main() {
	int n;
	ll k, S = 0;
	cin >> n >> k;
	ll p[n];
	p[0] = 1;
	for(int i = 1; i < n; i++) {
		p[i] = p[i - 1] * 2;
		p[i] %= mod;
	}
	for(int i = n - 1; i >= 0; i--) {
		if(k % 2 == 0) {
			S += p[i];
			S %= mod;
		}
		k = (k + 1) / 2;
	}
	if(k == 1) {
		S++;
		S %= mod;
	}
	cout << S << '\n';
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...