Submission #50935

#TimeUsernameProblemLanguageResultExecution timeMemory
50935win11905쌀 창고 (IOI11_ricehub)C++11
0 / 100
5 ms896 KiB
#include "ricehub.h"
#define long long long
using namespace std;

const int N = 1e5+5;

long pref[N];

int besthub(int R, int L, int X[], long B) {
	for(int i = 0; i < R; ++i) pref[i+1] = pref[i] + X[i];
	auto f = [&](int l, int r, int m) {
		long lhs = (pref[m] * (m-l)) - (pref[m-1] - pref[l-1]);
		long rhs = (pref[r] - pref[m]) - (pref[m] * (r - m));
		return lhs + rhs <= B;
	};
	int l = 1, r = R;
	while(l < r) {
		int m = (l + r + 1) >> 1;
		bool st = false;
		for(int x = 1, y = m; y <= R; x++, y++) {
			int z = (x + y) >> 1;
			st |= f(x, y, z);
		}
		if(st) l = m;
		else r = m - 1;
	}
	return l;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...