結果

問題 No.2694 The Early Bird Catches The Worm
ユーザー GGanariGGanari
提出日時 2024-03-22 21:49:59
言語 C++17(gcc12)
(gcc 12.3.0 + boost 1.87.0)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 1,089 bytes
コンパイル時間 2,761 ms
コンパイル使用メモリ 225,672 KB
実行使用メモリ 7,296 KB
最終ジャッジ日時 2024-09-30 11:18:33
合計ジャッジ時間 6,753 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 72
権限があれば一括ダウンロードができます

ソースコード

diff #

#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx,avx2")
#include <bits/stdc++.h>
#define INF 1000000001LL
#define LNF 1000000000000000001LL
#define MOD 998244353LL
#define MAX 2001
#define long long long
#define all(x) x.begin(),x.end()
using namespace std;

int main()
{
	ios_base::sync_with_stdio(0); 
    cin.tie(0);

    long n,h;
    cin >> n >> h;
    vector<int> brr(n);

    for(int i = 0; i<n; i++)
        cin >> brr[i];
    vector<long> arr(n);
    vector<long> hap(n+1);
    for(int i = 0; i<n; i++)
    {
        cin >> arr[i];
        hap[i+1] = hap[i]+arr[i];
    }

    long res = 0;

    long right = 0;
    long cur = 0;
    long sum = 0;
    for(int i = 0; i<n; i++)
    {
        while(cur<=h && right <= n)
        {
            res = max(res,sum);
            if(right == n)
                break;
            cur+=(right-i+1)*arr[right];
            sum+=brr[right];
            right++;
        }
        cur-=hap[right]-hap[i];
        sum-=brr[i];
    }
    cout << res << endl;
    return 0;
}
0