Submission #1368657

#TimeUsernameProblemLanguageResultExecution timeMemory
1368657alexrana2626Rice Hub (IOI11_ricehub)C++20
68 / 100
6 ms1348 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
vector<long long> p;
int *X1;
int cost(int l ,int r)
{
	int m = (l + r)/2;
	long long l1 = 1LL * X1[m] * (m - l) - (p[m] - p[l]);
	long long r1 = (p[r + 1] - p[m + 1]) - 1LL * X1[m] * (r - m);
	return l1 + r1;
}
int besthub(int R, int L, int X[], long long B)
{
	X1 = X;
    p.assign(R + 1, 0);

    for (int i = 0; i < R; i++) p[i + 1] = p[i] + X[i];

    int ans = 1, l = 0;
    
    for (int r = 0; r < R; r++) 
	{
        while (l <= r && cost(l, r) > B) l++;
        ans = max(ans, r - l + 1);
    }

    return ans;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...