Submission #755917

# Submission time Handle Problem Language Result Execution time Memory
755917 2023-06-10T17:43:46 Z vjudge1 A Huge Tower (CEOI10_tower) C++17
45 / 100
910 ms 208580 KB
#include <bits/stdc++.h>

        using namespace std;

        const int MOD = 1e9 + 9;

        int N, D, A[100], DP[(1 << 20) + 5][25];
        int solve(int mask, int last) {
            if(__builtin_popcount(mask) == N)
                return 1;
            if(DP[mask][last] != -1)
                return DP[mask][last];
            int res = 0;
            for(int l = 0; l < N; l++) {
                if(mask & (1 << l)) continue;
                if(A[l] > D + A[last]) continue;
                res += (solve(mask | (1 << l), l)) % MOD;
                res %= MOD;
            }
            return DP[mask][last] = res % MOD;
        }

        int32_t main() {
            ios_base::sync_with_stdio(0);
            cin.tie(0); cout.tie(0);
            cin >> N >> D;
            memset(DP, -1, sizeof DP);
            for(int l = 0; l < N; l++) cin >> A[l];
            int res = 0;
            for(int l = 0; l < N; l++) {
                res += (solve((1 << l), l)) % MOD;
                res %= MOD;
            }
            cout << res % MOD << "\n";
        }







# Verdict Execution time Memory Grader output
1 Correct 40 ms 102832 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 41 ms 102884 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 39 ms 102816 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 44 ms 102892 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 69 ms 102892 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 197 ms 102896 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 910 ms 102900 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 66 ms 102852 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 133 ms 102892 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 120 ms 208472 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 143 ms 208360 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 136 ms 208440 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 130 ms 208356 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 131 ms 208364 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 126 ms 208580 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 123 ms 208400 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 124 ms 208400 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 131 ms 208476 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 119 ms 208376 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 122 ms 208464 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -