結果
問題 | No.801 エレベーター |
ユーザー |
![]() |
提出日時 | 2022-12-30 13:09:16 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 334 ms / 2,000 ms |
コード長 | 605 bytes |
コンパイル時間 | 264 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 77,652 KB |
最終ジャッジ日時 | 2024-11-25 09:43:04 |
合計ジャッジ時間 | 6,999 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
N, M, K = map(int, input().split()) ele = [list(map(int, input().split())) for _ in range(M)] dp = [0]*(N+1) dp[0] = 1 dp[1] = -1 mod = 10**9+7 for i in range(K): for j in range(N): dp[j+1] += dp[j] dp[j+1] %= mod for j in range(N-1): dp[j+1] += dp[j] dp[j+1] %= mod ndp = [0]*(N+1) for l, r in ele: num = dp[r-1] if l==1 else dp[r-1]-dp[l-2] num %= mod ndp[l-1] += num ndp[l-1] %= mod ndp[r] -= num ndp[r] %= mod dp = ndp for i in range(N): dp[i+1] += dp[i] dp[i+1] %= mod print(dp[-2])