結果

問題 No.3537 Thank You!
コンテスト
ユーザー tassei903
提出日時 2026-05-08 23:31:45
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WA  
実行時間 -
コード長 1,134 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,460 ms
コンパイル使用メモリ 85,248 KB
実行使用メモリ 115,328 KB
最終ジャッジ日時 2026-05-08 23:31:56
合計ジャッジ時間 5,355 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_1
このコードへのチャレンジ
(要ログイン)
サブタスク 配点 結果
サブタスク1 30 % AC * 6 WA * 15
サブタスク2 70 % WA * 15
合計 2.5 * 0% = 0 点
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import sys
# input = lambda :sys.stdin.readline()[:-1]
ni = lambda :int(input())
na = lambda :list(map(int,input().split()))
yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES")
no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO")
#######################################################################


n = ni()
b = ni()
c = na()
s = na()
idx = sorted(range(n), key = lambda i: c[i])
c = [c[i] for i in idx]
s = [s[i] for i in idx]

"""


"""

rui = [0] * (n + 1)
ruis = [0] * (n + 1)
for i in range(n):
    rui[i+1] = rui[i] + c[i] * s[i]
    ruis[i+1] = ruis[i] + s[i]

from bisect import bisect_left
# print(c, s)
# print(rui, ruis)
ans = 0

x = 0
for i in range(n):
    X = (c[i] - 1) * s[i] + b
    z = bisect_left(rui, X)
    # print(i, z, b + c[i] * s[i] - rui[z-1] if z < len(rui) else 10 ** 18)
    if z == len(rui):
        ans = max(ans, ruis[-1])
    elif z - 1 > i:
        # print("!", i, z, ruis[z-1],(X - rui[z-1]) // c[z-1])
        ans = max(ans, ruis[z-1] + (X - rui[z-1]) // c[z-1])
    else:
        ans = max(ans, ruis[z-1] + (b - rui[z-1]))
    

print(ans)
0