제출 #1150429

#제출 시각아이디문제언어결과실행 시간메모리
1150429codelikeagiA Huge Tower (CEOI10_tower)Pypy 3
100 / 100
389 ms158272 KiB

MOD = 10**9 + 9

n, d = map(int, input().split())
blocks = list(map(int, input().split()))

blocks.sort()  # Sort side lengths in non-decreasing order

dp = 1         # dp will hold the running product of valid "insert positions"
p = 0          # p is the left pointer for our sliding window

for i in range(n):
    # Move p so that blocks[i] - blocks[p] <= d
    while blocks[i] - blocks[p] > d:
        p += 1
    # c = how many blocks from p..(i-1) can be "above" this block
    c = i - p
    # We can insert the new block in (c+1) ways among those
    dp = (dp * (c + 1)) % MOD

print(dp % MOD)

컴파일 시 표준 출력 (stdout) 메시지

Compiling 'tower.py'...

=======
  adding: __main__.pyc (deflated 20%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...