답안 #529876

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
529876 2022-02-23T23:20:22 Z tkwiatkowski Rack (eJOI19_rack) C++17
100 / 100
10 ms 316 KB
/*
	Zadanie: Rack
	Autor: Tomasz Kwiatkowski
*/

#include <bits/stdc++.h>
#define fi first
#define se second
#define pb push_back

using namespace std;
typedef long long ll;

const int MAXN = 1e6 + 7;
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 ans = 1;
	for (int i = 1; i <= n; ++i) {
		if (k % 2 == 0)
			ans = ((long long)2*ans) % MOD;
		else
			ans = ((long long)2*ans + 1) % MOD;
		k /= 2;
	}
	int pow2 = 1;
	for (int i = 1; i <= n; ++i)
		pow2 = ((long long)2*pow2) % MOD;
	cout << (ans - pow2 + 1 + MOD) % MOD << '\n';
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 296 KB Output is correct
4 Correct 1 ms 208 KB Output is correct
5 Correct 0 ms 208 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 296 KB Output is correct
4 Correct 1 ms 208 KB Output is correct
5 Correct 0 ms 208 KB Output is correct
6 Correct 0 ms 208 KB Output is correct
7 Correct 0 ms 208 KB Output is correct
8 Correct 0 ms 208 KB Output is correct
9 Correct 1 ms 208 KB Output is correct
10 Correct 1 ms 208 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 296 KB Output is correct
4 Correct 1 ms 208 KB Output is correct
5 Correct 0 ms 208 KB Output is correct
6 Correct 0 ms 208 KB Output is correct
7 Correct 0 ms 208 KB Output is correct
8 Correct 0 ms 208 KB Output is correct
9 Correct 1 ms 208 KB Output is correct
10 Correct 1 ms 208 KB Output is correct
11 Correct 0 ms 316 KB Output is correct
12 Correct 1 ms 316 KB Output is correct
13 Correct 1 ms 208 KB Output is correct
14 Correct 1 ms 208 KB Output is correct
15 Correct 10 ms 312 KB Output is correct