Submission #121016

#TimeUsernameProblemLanguageResultExecution timeMemory
121016turbatRice Hub (IOI11_ricehub)C++14
0 / 100
11 ms512 KiB
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;

long long s[100005];

long long can(int l, int r){
	int mid = (l + r) / 2;
	if ((r - l) % 2) return s[r]- s[l - 1];		
	return s[r] - s[l - 1] - s[mid] + s[mid + 1];
}

int besthub(int R, int L, int X[], long long B){
	int ans = 0;
	for (int i = 1;i <= R;i++) s[i] = s[i - 1] + X[i - 1];
	for (int i = 1;i <= R;i++){
		int l = i, r = R, mid;
		while (l != r){
			mid = (l + r + 1) / 2;
			if (can(l, mid) <= B) l = mid;
			else r = mid - 1;
		}
		ans = max(ans, l - 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...