Submission #531027

# Submission time Handle Problem Language Result Execution time Memory
531027 2022-02-27T11:40:44 Z k777 Rack (eJOI19_rack) C++14
100 / 100
4 ms 312 KB
#include <iostream>

using namespace std;
typedef long long ll;
const ll my_m = 1e9 + 7;

ll szy_po(ll a, ll x)
{
	if (x <= 0)
		return 1;
	if (x == 1)
		return a;
	if (x % 2 == 0)
		return (szy_po(a, x / 2) * szy_po(a, x / 2)) % my_m;
	return (szy_po(a, x / 2) * szy_po(a, x / 2 + 1)) % my_m;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	ll n, k;
	ll p;
	ll v = 1;
	cin >> n >> k;
	--k;
	p = n;
	while (p--)
	{
		if (k % 2)
			v = (v * 2 + 1) % my_m;
		else
			v = (v * 2) % my_m;
		k /= 2;
	}
	cout << (v - szy_po(2, n) + 1 + my_m) % my_m << "\n";

	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 308 KB Output is correct
3 Correct 1 ms 300 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 308 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 308 KB Output is correct
3 Correct 1 ms 300 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 308 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 308 KB Output is correct
3 Correct 1 ms 300 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 308 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 0 ms 204 KB Output is correct
11 Correct 0 ms 204 KB Output is correct
12 Correct 0 ms 204 KB Output is correct
13 Correct 0 ms 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 4 ms 312 KB Output is correct