Submission #852892

# Submission time Handle Problem Language Result Execution time Memory
852892 2023-09-23T04:35:38 Z iamjiamingliu A Huge Tower (CEOI10_tower) Python 3
20 / 100
1000 ms 262144 KB
import sys

_, diff = map(int, input().split())
nums = list(map(int, sys.stdin.readline().strip().split()))

dp = [[0] * len(nums) for _ in range(1 << len(nums))]
for i in range(len(nums)):
    dp[1 << i][i] = 1

for subset in range(1 << len(nums)):
    used = [nums[i] for i in range(len(nums)) if (1 << i) & subset]
    remaining = [nums[i] for i in range(len(nums)) if (1 << i) & ~subset]
    if min(remaining, default=0) > max(used, default=0) + diff:
        dp[subset] = [0] * len(nums)
        continue
    for last in range(len(nums)):
        if (1 << last) & subset:
            for prev_last in range(len(nums)):
                if (1 << prev_last) & subset and nums[last] <= nums[prev_last] + diff:
                    dp[subset][last] += dp[subset ^ (1 << last)][prev_last]

print(sum(dp[-1]) % (10 ** 9 + 9))
# Verdict Execution time Memory Grader output
1 Correct 11 ms 2908 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 36 ms 3420 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 122 ms 3676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 271 ms 4504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1033 ms 12264 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1029 ms 34728 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1041 ms 126228 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1026 ms 12236 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1054 ms 32008 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1043 ms 261572 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1068 ms 255768 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 912 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 756 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1032 ms 250680 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 324 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 286 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 247 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 142 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 149 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 184 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -