結果
問題 |
No.1043 直列大学
|
ユーザー |
![]() |
提出日時 | 2020-05-02 00:23:17 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 333 ms / 2,000 ms |
コード長 | 666 bytes |
コンパイル時間 | 175 ms |
コンパイル使用メモリ | 82,060 KB |
実行使用メモリ | 101,028 KB |
最終ジャッジ日時 | 2024-12-22 19:57:31 |
合計ジャッジ時間 | 5,614 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
N,M=map(int,input().split()) V=list(map(int,input().split())) R=list(map(int,input().split())) A,B=map(int,input().split()) dp_V=[0]*(10**5+1) dp_V[0]=1 for v in V: for i in range(len(dp_V))[::-1]: if dp_V[i]!=0: dp_V[i+v]+=dp_V[i] dp_R=[0]*(10**5+1) dp_R[0]=1 for r in R: for i in range(len(dp_R))[::-1]: if dp_R[i]!=0: dp_R[i+r]+=dp_R[i] col_R=[0]*(10**5+1) col_R[0]=0 for i in range(1,len(dp_R)): col_R[i]=col_R[i-1]+dp_R[i] #print(dp_V) #print(col_R) ans=0 for i in range(1,len(dp_V)): low=-(-i//B) high=i//A ans+=(col_R[high]-col_R[low-1])*dp_V[i] print(ans%(10**9+7))