結果

問題 No.1043 直列大学
ユーザー H3PO4H3PO4
提出日時 2020-05-02 00:48:49
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 871 ms / 2,000 ms
コード長 681 bytes
コンパイル時間 242 ms
コンパイル使用メモリ 12,928 KB
実行使用メモリ 46,160 KB
最終ジャッジ日時 2024-06-02 03:11:11
合計ジャッジ時間 24,308 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 580 ms
45,648 KB
testcase_01 AC 634 ms
45,892 KB
testcase_02 AC 627 ms
45,648 KB
testcase_03 AC 631 ms
45,784 KB
testcase_04 AC 634 ms
45,908 KB
testcase_05 AC 639 ms
46,148 KB
testcase_06 AC 634 ms
45,772 KB
testcase_07 AC 629 ms
46,096 KB
testcase_08 AC 644 ms
45,944 KB
testcase_09 AC 744 ms
45,524 KB
testcase_10 AC 774 ms
45,612 KB
testcase_11 AC 721 ms
45,648 KB
testcase_12 AC 871 ms
45,896 KB
testcase_13 AC 709 ms
46,160 KB
testcase_14 AC 719 ms
46,032 KB
testcase_15 AC 736 ms
45,900 KB
testcase_16 AC 708 ms
46,032 KB
testcase_17 AC 647 ms
45,896 KB
testcase_18 AC 693 ms
46,156 KB
testcase_19 AC 713 ms
46,160 KB
testcase_20 AC 657 ms
46,156 KB
testcase_21 AC 689 ms
46,024 KB
testcase_22 AC 698 ms
45,776 KB
testcase_23 AC 739 ms
45,900 KB
testcase_24 AC 679 ms
46,156 KB
testcase_25 AC 708 ms
46,036 KB
testcase_26 AC 722 ms
45,776 KB
testcase_27 AC 663 ms
45,784 KB
testcase_28 AC 759 ms
45,900 KB
testcase_29 AC 609 ms
45,396 KB
testcase_30 AC 707 ms
45,772 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import numpy as np

N, M = map(int, input().split())
V = tuple(map(int, input().split()))
R = tuple(map(int, input().split()))
A, B = map(int, input().split())

MOD = 10 ** 9 + 7
MAX = 10 ** 5 + 1
dpv = np.zeros(MAX, dtype=np.int64)
dpv[0] = 1
for i in range(N):
    dpv[V[i]:] += dpv[:-V[i]]
    dpv %= MOD

dpr = np.zeros(MAX, dtype=np.int64)
dpr[0] = 1
for i in range(M):
    dpr[R[i]:] += dpr[:-R[i]]
    dpr %= MOD

v_sum = [0] * MAX
for i in range(MAX - 1):
    v_sum[i + 1] = (v_sum[i] + dpv[i]) % MOD

ans = 0
for i in range(1, MAX):
    l, r = A * i, min(MAX - 1, B * i + 1)
    if l >= MAX:
        break
    ans = (ans + (v_sum[r] - v_sum[l]) * dpr[i]) % MOD
print(ans)
0