結果

問題 No.1043 直列大学
ユーザー komkompi
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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))
0