Submission #1097216

#TimeUsernameProblemLanguageResultExecution timeMemory
1097216vjudge1Rack (eJOI19_rack)C++17
100 / 100
4 ms348 KiB
//#pragma GCC optimize ("Ofast")
#include <bits/stdc++.h>
using namespace std;
#define double long double
#define int long long
#define F first
#define S second
const int mod = 1e9+7;

signed main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int n, k;
	cin >> n >> k;
	k--;
	int ans = 0, p = 1;
	for (int i = 1; i <= n; i++) {
		if (n-i <= 60 && ((1LL << (n-i))&k) != 0)
			ans += p;
		ans %= mod;
		p *= 2;
		p %= mod;
	}
	
	cout << ans+1 << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...