#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
const int N = 5e3 + 5;
long long sum[N];
int besthub(int R, int L, int X[], long long B)
{
for(int i = 1; i <= R; i++) sum[i] = sum[i - 1] + X[i - 1];
int res = 1;
int l = 2, r = R;
while(l <= r) {
int mid = (l + r) >> 1;
int m = mid >> 1;
long long ret = LLONG_MAX;
for(int i = 1; i <= R - mid + 1; i++) {
if(mid == 2) ret = min(ret, 1LL * X[i + 1] - 1LL * X[i]);
else {
long long t = sum[i + mid - 1] - sum[i + m] - sum[i + m - 1] + sum[i - 1];
if(mid & 1) ret = min(ret, t);
else ret = min(ret, t + sum[i + m]);
}
}
if(ret <= B) res = mid, l = mid + 1;
else r = mid - 1;
}
return res;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
3 ms |
376 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
472 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
3 ms |
472 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
576 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |