답안 #464354

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
464354 2021-08-13T05:29:22 Z tengiz05 Rack (eJOI19_rack) C++17
40 / 100
1 ms 204 KB
#include <bits/stdc++.h>

using i64 = long long;

constexpr int P = 1000000007;

constexpr i64 inf = 2e18;

int norm(int x) {
    if (x < 0) x += P;
    if (x >= P) x += P;
    return x;
}

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    
    i64 n, k;
    std::cin >> n >> k;
    k--;
    
    std::vector<i64> mpw(n + 1, 1), pw(n + 1, 1);
    for (int i = 1; i <= n; i++) {
        mpw[i] = mpw[i - 1] * 2 % P;
        pw[i] = std::min(pw[i - 1] * 2, inf);
    }
    
    int ans = 0;
    for (int i = 0; i < n; i++) {
        if (k >= pw[n - i - 1]) {
            ans = norm(ans + mpw[i]);
            k -= pw[n - i - 1];
        }
    }
    
    std::cout << norm(ans + 1) << "\n";
    
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 0 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 0 ms 204 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Incorrect 0 ms 204 KB Output isn't correct
12 Halted 0 ms 0 KB -