結果
問題 |
No.2694 The Early Bird Catches The Worm
|
ユーザー |
![]() |
提出日時 | 2024-03-23 07:16:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 154 ms / 2,000 ms |
コード長 | 578 bytes |
コンパイル時間 | 278 ms |
コンパイル使用メモリ | 82,644 KB |
実行使用メモリ | 133,608 KB |
最終ジャッジ日時 | 2024-09-30 13:06:07 |
合計ジャッジ時間 | 9,682 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 72 |
ソースコード
N,H = map(int,input().split()) A = list(map(int,input().split())) B = list(map(int,input().split())) ruisekiwa=[0]*(N+1) for i in range(N): ruisekiwa[i+1]=ruisekiwa[i]+B[i] left=0 right=0 now=0 ans=0 score=0 for i in range(N): if now+B[i]*(i+1-left)<=H: score+=A[i] now+=B[i]*(i+1-left) else: while now+B[i]*(i+1-left)>H: now-=ruisekiwa[i]-ruisekiwa[left] score-=A[left] left+=1 if now+B[i]*(i+1-left)<=H: score+=A[i] now+=B[i]*(i+1-left) ans=max(ans,score) print(ans)