結果
問題 |
No.1407 Kindness
|
ユーザー |
👑 ![]() |
提出日時 | 2021-02-27 00:32:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 93 ms / 2,000 ms |
コード長 | 420 bytes |
コンパイル時間 | 1,162 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 85,120 KB |
最終ジャッジ日時 | 2024-10-02 16:39:25 |
合計ジャッジ時間 | 4,055 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
def f(s,t): if s<=t: return (s+t)*(t-s+1)//2 else: return 0 N=input() Mod=10**9+7 DP=[[0,0] for _ in range(len(N))] X=[x*(x+1)//2 for x in range(10)] n=int(N[0]) DP[0][0]=n*(n+1)//2 DP[0][1]=n*(n-1)//2 for i,r in enumerate(N[1:],1): D=DP[i] E=DP[i-1] r=int(r) D[0]=((E[0]+1)*f(0,r) +(E[1]+1)*f(r+1,9))%Mod D[1]=((E[0]+1)*f(0,r-1)+(E[1]+1)*f(r ,9))%Mod print(DP[-1][0])