Submission #120039

#TimeUsernameProblemLanguageResultExecution timeMemory
120039turbat쌀 창고 (IOI11_ricehub)C++14
0 / 100
5 ms640 KiB
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
#define N 100005

long long s[N];

bool can(int l, int r, long long cost, int X[]){
	int mid = (l + r) / 2;
	return cost >= s[r] - s[mid] - ((r - l) % 2 == 0 ? X[mid] : 0);
}

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, X)) 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...