結果
問題 | No.1043 直列大学 |
ユーザー |
![]() |
提出日時 | 2020-05-02 00:22:58 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 666 bytes |
コンパイル時間 | 520 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 41,600 KB |
最終ジャッジ日時 | 2024-12-25 17:27:12 |
合計ジャッジ時間 | 50,839 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 15 TLE * 13 |
ソースコード
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))