#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
#define ll long long
#define pb push_back
#define pii pair<int,int>
#define f first
#define s second
#define chmin(a, b) a = min(a,b)
#define chmax(a, b) a = max(a,b)
#define FOR(i, a, b) for (int i = (a); i < (b); i++)
#define F0R(i, a) for (int i = 0; i < (a); i++)
#define all(x) x.begin(),x.end()
#define vec vector
const int MAX_N = 1e5;
ll ps[MAX_N+1] = {0};
int besthub(int r, int l, int x[], ll b) {
for (int i=0;i<r;i++) {ps[i+1] = ps[i]+x[i];}
int ans = 0;
for (int i=0,ptr=0;i<r;i++) {
while (ptr+1<r) {
ptr++;
ll med = (i+ptr)/2;
ll cost = ps[ptr+1]-ps[med]-(ptr-med+1)*x[med] + (med-i)*x[med]-ps[med]+ps[i];
if (cost>b) {ptr--; break;}
}
ans = max(ans,ptr-i+1);
}
return ans;
}
/*
int main() {
ios::sync_with_stdio(false); cin.tie(0);
int r, l; ll b; cin >> r >> l >> b;
vec<ll> x(r);
F0R(i,r) {
cin >> x[i];
}
for (int i=0;i<r;i++) {ps[i+1] = ps[i]+x[i];}
int ans = 0;
for (int i=0,ptr=0;i<r;i++) {
while (ptr+1<r) {
ptr++;
ll med = (i+ptr)/2;
ll cost = ps[ptr+1]-ps[med]-(ptr-med+1)*x[med] + (med-i)*x[med]-ps[med]+ps[i];
if (cost>b) {ptr--; break;}
}
ans = max(ans,ptr-i+1);
}
cout << ans << '\n';
}
*/
# | 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... |