Submission #1263307

#TimeUsernameProblemLanguageResultExecution timeMemory
1263307DeltaStructRice Hub (IOI11_ricehub)C++20
100 / 100
18 ms2752 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed besthub(signed n,signed m,signed a[],int q){
  vector<int> A(a,a+n); int ret = 0;
  vector<int> B(1); for (int a:A) B.emplace_back(B.back()+a);
  for (int i(0);i < n;++i){
    auto f = [&](int x) -> int {
      return (B[x+1]-B[(x+i)/2]-A[(x+i)/2]*(x+1-(x+i)/2)+A[(x+i)/2]*((x+i)/2-i)-B[(x+i)/2]+B[i])<=q;
    };
    int l = i,r = n,mid;
    while(r-l>1){
      if (f(mid = (l+r)/2)) l = mid;
      else r = mid;
    }
    ret = max(ret,l-i+1);
  }
  return ret;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...