Submission #13483

#TimeUsernameProblemLanguageResultExecution timeMemory
13483aintaRice Hub (IOI11_ricehub)C++98
0 / 100
4 ms4988 KiB
#include "ricehub.h"

int besthub(int R, int L, int X[], long long B)
{
	int i, be, ed, t, Res = 0;
	long long S = 0;
	for (i = 0; i < R; i++){
		if (i == 0)be = 0, ed = 0, S = 0;
		if (ed < i)be = ed = i, S = 0;
		t = i * 2 - ed - 2;
		if (be == t){
			S -= (X[i] - X[be]);
			be++;
		}
		t = i * 2 - ed - 1;
		if (be == t){
			S -= (X[i] - X[be]);
			be++;
		}
		while (be - 1 >= 0 && ed + 1 < R){
			if (S + X[ed + 1] - X[be - 1] > B)break;
			S += X[ed + 1] - X[be - 1];
			be--, ed++;
		}
		if (ed + 1 < R && S + X[ed + 1] - X[i]){
			S += X[ed + 1] - X[i];
			ed++;
		}
		if (Res < ed - be + 1)Res = ed - be + 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...