#pragma GCC optimize("O3")
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
typedef long long ll;
//#define int ll
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int besthub(int R, int L, int X[], long long B){
ll sx=0,dx=R+1;
while(sx<dx-1){
ll m=(sx+dx)/2;
ll tot=0;
ll mi=1e18;
int pos=m/2;
for(int i=0;i<m;i++){
tot+=abs(X[i]-X[pos]);
}
mi=min(mi,tot);
for(int i=m;i<R;i++){
pos++;
tot-=(ll)X[pos-1]-(ll)X[i-m];
tot+=(ll)(m-1)/2*((ll)X[pos]-X[pos-1]);
tot-=(ll)m/2*((ll)X[pos]-X[pos-1]);
tot+=(ll)X[i]-X[pos];
mi=min(mi,tot);
}
if(mi<=B)sx=m;
else dx=m;
}
return (int)sx;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
256 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
4 ms |
384 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
5 ms |
384 KB |
Output is correct |
2 |
Incorrect |
5 ms |
256 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
7 ms |
384 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |