Submission #60674

#TimeUsernameProblemLanguageResultExecution timeMemory
60674theknife2001Rice Hub (IOI11_ricehub)C++17
0 / 100
12 ms828 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; const int N=1e5+55; long long sum[N]; int pos[N]; int n; bool ok(int x, int b) { int temp; int best,cur; best=1e9+55; for(int i=0;i<n-x;i++) { cur=0; if(i) temp=(sum[i+x-1]-sum[i-1])/x; else temp=sum[i+x-1]; for(int j=i;j<=i+x;j++) { cur+=abs(pos[i]-temp); } best=min(best,cur); cur=0; for(int j=i;j<=i+x;j++) { cur+=abs(pos[i]-temp-1); } best=min(best,cur); } if(best>b) return 0; return 1; } int besthub(int N, int L, int X[], long long B) { n=N; for(int i=0;i<n;i++) { pos[i]=X[i]; sum[i]=X[i]; if(i) sum[i]+=sum[i-1]; } int l=0; int r=n; int mid; while(l<r) { mid=(l+r)/2; if(ok(mid,B)) l=mid+1; else r=mid; } 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...