Submission #530101

#TimeUsernameProblemLanguageResultExecution timeMemory
530101tkwiatkowskiRack (eJOI19_rack)C++17
100 / 100
9 ms308 KiB
#include <bits/stdc++.h>
using namespace std;

const int MOD = 1e9 + 7;

int main()
{
	ios_base::sync_with_stdio(0), cin.tie(0);

	int n;
	long long k;
	cin >> n >> k;
	--k;

	int wynik = 1;
	for (int i = 1; i <= n; ++i) {
		if (k % 2 == 0)
			wynik = ((long long)2*wynik) % MOD;
		else
			wynik = ((long long)2*wynik + 1) % MOD;
		k /= 2;
	}

	int pow2 = 1;
	for (int i = 1; i <= n; ++i)
		pow2 = ((long long)2*pow2) % MOD;
	
	cout << (wynik - pow2 + 1 + MOD) % MOD << '\n';
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...