# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
978398 | 2024-05-09T07:53:32 Z | Newtonabc | 쌀 창고 (IOI11_ricehub) | C++14 | 72 ms | 4212 KB |
#include "ricehub.h" #include<bits/stdc++.h> using namespace std; int besthub(int R, int L, int X[], long long B) { const int N=1e5+10; long long qs[N]; double tX[N]; int mx=0; qs[0]=X[0]; tX[0]=X[0]; for(int i=1;i<R;i++) qs[i]=X[i]+qs[i-1],tX[i]=X[i]; for(int i=0;i<R;i++){ int l=i,r=R-1; while(l<r){ int mid=(l+r+1)/2,tmp; long long sum=qs[mid],bg=0; if(i>0) sum-=qs[i-1]; double mean=(double)sum/(double)(mid-i+1); int ind=lower_bound(tX+i,tX+mid+1,mean)-tX; if(ind-1>=0 && fabs(tX[ind]-mean)>fabs(tX[ind-1]-mean)) mean=tX[ind-1]; ind=lower_bound(tX+i,tX+mid+1,mean)-tX; bg=(qs[mid]-qs[ind]-(X[ind]*(mid-ind)))+(X[ind]*(ind-i))-qs[ind-1]; if(i>0) bg+=qs[i-1]; if(bg<=B) mx=max(mx,mid-i+1); if(bg<=B) l=mid; else r=mid-1; } } return mx; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 1884 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 1884 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 1880 KB | Output is correct |
2 | Correct | 1 ms | 1884 KB | Output is correct |
3 | Correct | 2 ms | 1884 KB | Output is correct |
4 | Correct | 2 ms | 1884 KB | Output is correct |
5 | Incorrect | 2 ms | 1884 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 1884 KB | Output is correct |
2 | Correct | 8 ms | 1884 KB | Output is correct |
3 | Correct | 67 ms | 4188 KB | Output is correct |
4 | Correct | 72 ms | 4212 KB | Output is correct |
5 | Incorrect | 58 ms | 4184 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |