Submission #1217276

#TimeUsernameProblemLanguageResultExecution timeMemory
1217276LeonidCukRice Hub (IOI11_ricehub)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
vector<long long int>l,r,v;
long long vrni(int l1,int m)
{
    int s=(m-l1)/2;
    return l[l1+s/2]-l[l1]+r[l1+s/2]-r[m];
}
int besthub(int n, int m, int v1[], long long k)
{
    l.resize(n);
    r.resize(n);
    v.resize(n);
    for(int i=0;i<n;i++)v[i]=v1[i];
    long long sum=1;
    int res=0;
    for(int i=1;i<n;i++)
    {
        l[i]=l[i-1]+(sum*(v[i]-v[i-1]));
        sum++;
    }
    sum=1;
    for(int i=n-2;i>=0;i--)
    {
        r[i]=r[i+1]+(sum*(v[i+1]-v[i]));
        sum++;
    }
    for(int i=0;i<n;i++)
    {
        int l1=i,r1=n-1;
        while(l1+1<r1)
        {
            int m=(l1+r1)/2;
            sum=vrni(i,m);
            if(sum<=k)l1=m;
            else r1=m;
        }
        sum=vrni(i,r1);
        if(sum<=k)res=max(res,r1-i+1);
        res=max(res,l1-i+1);
    }
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...