제출 #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...