Submission #1185069

#TimeUsernameProblemLanguageResultExecution timeMemory
1185069ivaziva쌀 창고 (IOI11_ricehub)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h>
#include "ricehub.h"

using namespace std;

#define MAXN 100001

long long x[MAXN],pref[MAXN];

int besthub(int r,int l,int X[],long long b)
{
    for (int i=1;i<=r;i++) {x[i]=X[i-1];pref[i]=pref[i-1]+x[i];}
    int pointer=1,ans=0;
    for (int i=1;i<=r;i++)
    {
        while (pointer<i)
        {
            int duzina=(i-pointer+1)%2,pozicija=-1;
            if (duzina%2==1) pozicija=x[(i+pointer)/2];
            else pozicija=(x[(i+pointer)/2]+x[(i+pointer+2)/2])/2;
            long long levo=(long long)(duzina/2)*pozicija-(pref[(i+pointer)/2]-pref[pointer-1]);
            long long desno=(pref[i]-pref[(i+pointer)/2])-(long long)(duzina/2)*pozicija;
            if (levo+desno<=b) break;
            else pointer++;
        }
        ans=max(ans,i-pointer+1);
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...