結果
| 問題 |
No.2694 The Early Bird Catches The Worm
|
| コンテスト | |
| ユーザー |
timi
|
| 提出日時 | 2024-03-02 19:10:11 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 222 ms / 2,000 ms |
| コード長 | 718 bytes |
| コンパイル時間 | 966 ms |
| コンパイル使用メモリ | 82,396 KB |
| 実行使用メモリ | 169,088 KB |
| 最終ジャッジ日時 | 2024-09-29 16:25:54 |
| 合計ジャッジ時間 | 12,997 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 72 |
ソースコード
from collections import deque
mod=998244353
from sys import stdin, setrecursionlimit
input = stdin.readline
readline = stdin.readline
import math
N,H=map(int, stdin.readline().split())
A=list(map(int, input().split()))
B=list(map(int, input().split()))
B.append(10**10)
AA=[0]
for a in A:
AA.append(AA[-1]+a)
BB=[0];C=[0]
for i in range(N+1):
BB.append(BB[-1]+(i+1)*B[i])
C.append(C[-1]+B[i])
# print(AA)
# print(BB)
# print(C)
if min(B)>H:
print(0)
exit()
ans=0
for i in range(N):
l,r=i,N+1
if B[i]>H:
continue
while abs(l-r)>1:
mid=(l+r)//2
c=BB[mid]-BB[i]
cc=C[mid]-C[i]
d=c-cc*i
if d<=H:
l=mid
else:
r=mid
e=AA[l]-AA[i]
ans=max(ans,e)
print(ans)
timi