結果
問題 | No.1011 Infinite Stairs |
ユーザー |
|
提出日時 | 2021-02-26 17:32:51 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 725 ms / 2,000 ms |
コード長 | 666 bytes |
コンパイル時間 | 290 ms |
コンパイル使用メモリ | 82,160 KB |
実行使用メモリ | 218,880 KB |
最終ジャッジ日時 | 2024-07-17 12:16:53 |
合計ジャッジ時間 | 4,800 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
################################################### def example(): global input example = iter( """ 300 300 90000 """ .strip().split("\n")) input = lambda: next(example) ################################################### import sys input = sys.stdin.readline from bisect import bisect_left, bisect_right # example() N,d,K=map(int, input().split()) MOD=10**9+7 dp=[0]*(K+2) dp[0]=1 for n in range(1,N+1): for k in range(min((n-1)*d,K)+1)[::-1]: dp[k+1]+=dp[k] dp[min(k+d,K)+1]-=dp[k] dp[k]=0 acc=[0] for a in dp: acc.append((acc[-1]+a)%MOD) dp=acc[1:] print(dp[K]%MOD)