Submission #1318727

#TimeUsernameProblemLanguageResultExecution timeMemory
1318727jumpRice Hub (IOI11_ricehub)C++20
68 / 100
8 ms568 KiB
#include "ricehub.h" #include<bits/stdc++.h> #define ll long long int besthub(int R, int L, int X[], long long B) { int l=0,r=0,best=1,currB=B; int center=0; while(r<R-1){ r+=1; currB-=X[r]-X[center]; while(X[center]==X[center+1])center++; ll movecostre = (((r)-(center))-((center)-(l)+1))*(X[center+1]-X[center]); while(movecostre>0&&center!=r){ center+=1; currB+=movecostre; movecostre = (((r)-(center))-((center)-(l)+1))*(X[center+1]-X[center]); } while(currB<0){ if(center>l){ currB+=X[center]-X[l]; } else{ center+=1; movecostre = (((r)-(center)+1))*(X[center]-X[l]); currB+=movecostre; } l+=1; } while(X[center]==X[center+1])center++; movecostre = (((r)-(center))-((center)-(l)+1))*(X[center+1]-X[center]); while(movecostre>0&&center!=r){ center+=1; currB+=movecostre; movecostre = (((r)-(center))-((center)-(l)+1))*(X[center+1]-X[center]); } best=std::max(r-l+1,best); //std::cout << currB << ' ' << l << ' ' << center << ' ' << r << '\n'; } return best; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...