結果

問題 No.2694 The Early Bird Catches The Worm
ユーザー Carpenters-Cat
提出日時 2024-03-22 22:55:16
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 193 ms / 2,000 ms
コード長 604 bytes
コンパイル時間 2,126 ms
コンパイル使用メモリ 196,232 KB
最終ジャッジ日時 2025-02-20 12:19:39
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 72
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
int main () {
	using ll = long long;
	int N; ll H;
	cin >> N >> H;
	ll ans = 0;
	std::vector<ll> A(N), B(N);
	for (auto& a : A) cin >> a;
	for (auto& b : B) cin >> b;
	int r = 0;
	ll hsum = 0;
	ll asum = 0;
	ll bsum = 0;
	for (int l = 0; l < N; l ++) {
		while (r < N) {
			ll nh = hsum + (r - l + 1) * B[r];
			if (nh > H) {
				break;
			} else {
				hsum = nh;
				asum += A[r];
				bsum += B[r];
				r ++;
			}
		}
		ans = max(ans, asum);
		if (l < r) {
			asum -= A[l];
			hsum -= bsum;
			bsum -= B[l];
		} else{
			r ++;
		}
	}
	cout << ans << endl;
}
0