結果

問題 No.2694 The Early Bird Catches The Worm
コンテスト
ユーザー askr58
提出日時 2024-03-22 21:50:26
言語 C++23
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=c++23 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 667 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 4,190 ms
コンパイル使用メモリ 374,564 KB
実行使用メモリ 8,192 KB
最終ジャッジ日時 2026-04-16 14:56:23
合計ジャッジ時間 11,376 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 19 WA * 53
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
using ll=long long;

int main()
{
    int n;ll h;
    cin>>n>>h;
    vector<ll> a(n),b(n);
    for(int i=0;i<n;i++)cin>>a[i];
    for(int i=0;i<n;i++)cin>>b[i];
    ll l=0,r=0;
    vector<ll> sumb(n+1);
    for(int i=0;i<n;i++)sumb[i+1]=sumb[i]+b[i];
    ll ans=0,suma=0,tsumb=0;
    while(l<n){
        while(r<n&&tsumb+(r-l+1)*b[r]<=h){
            tsumb+=(r-l+1)*b[r];
            suma+=a[r];
            r++;
        }
        ans=max(ans,suma);
        suma-=a[l];
        tsumb-=(sumb[r]-sumb[l]);
        if(r==l)r++;
        l++;


    }
    cout<<ans<<endl;
    
}
0