Submission #1100436

# Submission time Handle Problem Language Result Execution time Memory
1100436 2024-10-13T21:29:45 Z biank Rack (eJOI19_rack) C++14
100 / 100
4 ms 8020 KB
#include <bits/stdc++.h>

using namespace std;

using ll = long long;

const int MOD = 1e9 + 7;
const int MAX_N = 1e6;

ll pot[MAX_N];

int solve(int n, ll k) {
    if (n == 0) return 1LL;
    if (k % 2 == 1) return solve(n - 1, (k + 1) / 2);
    int res = pot[n - 1] + solve(n - 1, k / 2);
    if (res >= MOD) res -= MOD;
    return res;
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
	
    int n;
    ll k;
    cin >> n >> k;
    pot[0] = 1;
    for (int i = 1; i < n; i++) {
        pot[i] = 2 * pot[i - 1];
        if (pot[i] >= MOD) pot[i] -= MOD;
    }
    cout << solve(n, k) << '\n';
    
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 2644 KB Output is correct
15 Correct 4 ms 8020 KB Output is correct