제출 #227785

#제출 시각아이디문제언어결과실행 시간메모리
227785staniewzkiRice Hub (IOI11_ricehub)C++17
100 / 100
22 ms2560 KiB
#include<bits/stdc++.h>
using namespace std;
 
using LL = long long;

#include "ricehub.h"

int besthub(int R, int L, int X[], LL B) {
	vector<LL> sum(R + 1);
	for(int i = 0; i < R; i++)
		sum[i + 1] = sum[i] + X[i];

	auto get = [&](int l, int r) {
		int m = (l + r) / 2;
		return sum[r + 1] - sum[m] - X[m] * LL(r + 1 - m)
			 + X[m] * LL(m - l) - sum[m] + sum[l];
	};

	int p = 0, ans = 0;
	for(int i = 0; i < R; i++)
		while(p < R && get(i, p) <= B)
			ans = max(ans, p++ - i + 1);
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...