Submission #229443

#TimeUsernameProblemLanguageResultExecution timeMemory
229443kshitij_sodaniRice Hub (IOI11_ricehub)C++17
49 / 100
24 ms1664 KiB
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
typedef long long llo;
#define mp make_pair
#define a first
#define b second
#define pb push_back
#include <ricehub.h>
int besthub(int n,int coo,int it[],llo b){
	llo l,r;
	llo tot=0;
	llo ma=0;
	for(llo i=0;i<n;i++){
		if(i==0){
			l=0;
			r=-1;
			for(llo j=0;j<n;j++){
				if(tot+it[j]-it[0]<=b){
					tot+=(it[j]-it[0]);
					r+=1;
				}
				else{
					break;
				}
			}
			ma=max(ma,r-l+1);
		}
		else{

			tot+=abs(it[i]-it[i-1])*abs(l-i);
			tot-=abs(it[i]-it[i-1])*abs(r-i+1);
			for(llo j=r+1;j<n;j++){
				if(abs(it[j]-it[i])<=abs(it[i]-it[l])){
					r+=1;
					tot+=abs(it[j]-it[i]);
					if(tot>b){
						l+=1;
						tot-=abs(it[i]-it[l-1]);
					}
				}
				else if(abs(it[j]-it[i])+tot<=b){
					r+=1;
					tot+=abs(it[j]-it[i]);
				}
				else{
					break;
				}
			}
			ma=max(ma,r-l+1);
		}

	}

	return ma;
}
/*int main(){
	llo cc[5];
	cc[0]=1;
	cc[1]=2;
	cc[2]=10;
	cc[3]=12;
	cc[4]=14;
	cout<<besthub(5,20,cc,(llo)6)<<endl;
 
	return 0;
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...