結果

問題 No.3391 Line up Dominoes
コンテスト
ユーザー detteiuu
提出日時 2025-11-28 22:08:16
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 624 bytes
コンパイル時間 211 ms
コンパイル使用メモリ 82,600 KB
実行使用メモリ 157,828 KB
最終ジャッジ日時 2025-11-28 22:11:03
合計ジャッジ時間 47,823 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other MLE * 23
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

MOD = 998244353

N, M, K = map(int, input().split())
A = sorted(map(int, input().split()))

R = []
right = 0
for i in range(N):
    while right+1 < N and A[right+1]-A[i] <= K:
        right += 1
    R.append(right)
    if right == i:
        right += 1
L = []
left = N-1
for i in reversed(range(N)):
    while 1 <= left and A[i]-A[left-1] <= K:
        left -= 1
    L.append(left)
    if left == i:
        left -= 1
L = L[::-1]

dp = [0]*(N+1)
for i in range(N):
    dp[i+1] = i+1
for _ in range(M-1):
    ndp = [0]
    for i in range(N):
        ndp.append((ndp[-1]+(dp[R[i]+1]-dp[L[i]]))%MOD)
    dp = ndp

print(dp[-1])
0