이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
using ll = long long;
ll pref[100100];
ll sum(int l,int r){
return pref[r+1] - pref[l];
}
int besthub(int n, int ln, int x[], ll b){
for(int i = 0; i < n; i++){
pref[i+1] = pref[i] + x[i];
}
int ans = 0,r = 0;
for(int l = 0; l < n; l++){
while(r < n){
ll res = 0;
if(r - l == 1) res = x[r] - x[l];
else if(r - l != 0){
int md = l + (r-l)/2;
int cnt = (r-l+1)/2;
ll up = sum(md+1,r) - (ll) cnt * x[md];
ll down = (ll) x[md] * (cnt - (r - l) % 2) - sum(l,md-1);
res = up + down;
}
if(res > b) break;
else{
ans = max(ans,r - l + 1);
r++;
}
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |