結果
問題 | No.2694 The Early Bird Catches The Worm |
ユーザー |
![]() |
提出日時 | 2024-03-22 23:06:38 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 172 ms / 2,000 ms |
コード長 | 758 bytes |
コンパイル時間 | 313 ms |
コンパイル使用メモリ | 82,076 KB |
実行使用メモリ | 145,972 KB |
最終ジャッジ日時 | 2024-09-30 12:24:18 |
合計ジャッジ時間 | 10,991 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 72 |
ソースコード
INT = lambda : int(input()) MI = lambda : map(int, input().split()) MI_DEC = lambda : map(lambda x : int(x)-1, input().split()) LI = lambda : list(map(int, input().split())) LI_DEC = lambda : list(map(lambda x : int(x)-1, input().split())) INF = float('inf') CEIL = lambda a, b : (a + b - 1) // b N, H = MI() A = LI() B = LI() Bsums = [0] for i in range(N): Bsums.append(Bsums[i] + B[i]) ans, a, h, d = 0, 0, 0, 1 right = 0 for left in range(N): while right < N and h + B[right] * d <= H: a += A[right] h += B[right] * d d += 1 right += 1 ans = max(ans, a) if left == right: right += 1 else: d -= 1 a -= A[left] h -= (Bsums[right] - Bsums[left]) print(ans)