# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
96299 | figter001 | Rice Hub (IOI11_ricehub) | C++14 | 51 ms | 2556 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxr = 1e5+50;
ll sum[maxr];
int besthub(int r, int L, int x[], long long B){
int ans = 0;
sum[0] = x[0];
for(int i=1;i<r;i++)
sum[i] = sum[i-1] + x[i];
for(int i=0;i<r;i++){
int md,lo=i,hi=r-1,best;
ll rem = 0;
if(i)rem = sum[i-1];
while(lo <= hi){
md = (lo+hi)/2;
int at = (i+md)/2;
ll lf = x[at] * (at - i + 1) - (sum[at] - rem);
ll rem2 = 0;
if(at)rem2 = sum[at-1];
ll ri = (sum[md] - rem2) - x[at] * (md-at+1);
if(ri + lf <= B){
lo = md+1;
best = md;
}else hi = md-1;
}
ans = max(ans,best - i + 1);
}
return ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |