結果

問題 No.1043 直列大学
ユーザー anagohirameanagohirame
提出日時 2020-05-01 22:12:07
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 363 ms / 2,000 ms
コード長 644 bytes
コンパイル時間 206 ms
コンパイル使用メモリ 82,100 KB
実行使用メモリ 117,152 KB
最終ジャッジ日時 2024-12-22 19:31:37
合計ジャッジ時間 6,235 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

n, m = map(int, input().split())
vs = list(map(int, input().split()))
rs = list(map(int, input().split()))
a, b = map(int, input().split())
v_sum = [0 for _ in range(100001)]
v_sum[0] = 1
r_sum = [0 for _ in range(100001)]
r_sum[0] = 1
for v in vs:
	for i in range(100000, v-1, -1):
		v_sum[i] += v_sum[i-v]
for r in rs:
	for i in range(100000, r-1, -1):
		r_sum[i] += r_sum[i-r]

v_cum = [1 for _ in range(100001)]
for i in range(1, 100001):
	v_cum[i] = v_cum[i-1] + v_sum[i]

MOD = 10**9+7
ans = 0
for i in range(1, 100001):
	x, y = min(a*i-1, 100000), min(b*i, 100000)
	num = v_cum[y] - v_cum[x]
	ans += num * r_sum[i]
	ans %= MOD
print(ans)
0