Submission #44562

#TimeUsernameProblemLanguageResultExecution timeMemory
44562MrTEKRice Hub (IOI11_ricehub)C++14
68 / 100
1069 ms1952 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
#define d1(x) cerr<<#x<<":"<<x<<endl;
#define d2(x,y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl;
#define d3(x,y,z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl;
const int maxN = (int) 1e5 + 5 ;
int ar[maxN],ans;
using namespace std;
vector <int> v,vec;
int n;
int get(int val,long long B) {
	v.clear();
	for (int i = 1 ; i <= n ; i++)
		v.push_back(abs(ar[i] - val));
	sort(v.begin(),v.end());
	int cnt = 0;
	for (int i = 0 ; i < n ; i++) {
		if (v[i] > B) return cnt;
		cnt++;
		B -= v[i];
	}
	return cnt;
}
int besthub(int R, int L, int X[], long long B) {
	n = R;
	for (int i = R ; i >= 1 ; i--) 
		ar[i] = X[i - 1];
	for (int i = 1 ,last = -1; i <= R ; i++) {
		if (last == ar[i]) continue;
		last = ar[i];
		vec.push_back(ar[i]);
	}
	for (auto i : vec)	
		ans = max(ans ,get(i,B));
	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...