Submission #335796

#TimeUsernameProblemLanguageResultExecution timeMemory
335796sumit_kk10Rice Hub (IOI11_ricehub)C++14
43 / 100
1090 ms748 KiB
#include <bits/stdc++.h>
#define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL)
#define ll long long int
#define ld long double
using namespace std;
const int N = 1e6 + 5;
const int MOD = 1e9 + 7;


long long int besthub(int r, int l, int a[], long long int b){
	long long int ans = 0;
	for(int i = 0; i < r; ++i){
		int j = i - 1, k = i + 1;
		long long int budget = b, how_many = 1;
		while(budget){
			if(j < 0 and k >= r) break;
			if(abs(a[j] - a[i]) <= abs(a[k] - a[i]) and abs(a[j] - a[i]) <= budget and j >= 0){
				// if(i == 3)
					// cout << a[j] << ' ';
				budget -= abs(a[j] - a[i]);
				++how_many;
				--j;
			}
			else if(abs(a[k] - a[i]) <= abs(a[j] - a[i]) and abs(a[k] - a[i]) <= budget and k < r){
				budget -= abs(a[k] - a[i]);
				++how_many;
				++k;
			}
			else
				break;
		}
		// cout << how_many << ' ';
		ans = max(ans, how_many);
	}
	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...