Submission #390926

#TimeUsernameProblemLanguageResultExecution timeMemory
390926BlagojceGap (APIO16_gap)C++11
53.51 / 100
74 ms1304 KiB
#include <bits/stdc++.h>
#define fr(i, n, m) for(int i = (n); i < (m); i ++)
#define pb push_back
#define st first
#define nd second
#define pq priority_queue
#define all(x) begin(x), end(x)


using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;

const int mxn = 1e5;
#include "gap.h"

/*
int n;
ll A[mxn];

void MinMax(ll s, ll t, ll &mn, ll &mx){
	mn = -1;
	mx = -1;
	fr(i, 0, n){
		if(A[i] >= s){
			if(A[i] <= t) mn = A[i];
			break;
		}
	}
	for(int i = n-1; i >= 0; i --){
		if(A[i] <= t){
			if(A[i] >= s) mx = A[i];
			break;
		}
	}
}
*/

long long findGap(int T, int N)
{
	ll a1, an;
	MinMax(0, 1e18, &a1, &an);
	
	
	ll d = (an - a1)/(N-1);
	
	
	ll pr = a1;
	
	ll ans = 0;
	for(int i = 0; i*d <= an; i++){
		ll ai, aj;
		MinMax(i*d, min((i+1)*d, an), &ai, &aj);
		
		if(ai != -1){
			ans = max(ans, ai-pr);
			pr = aj;
		}
	}
	
	return ans;
}
/*
int main(){
	cin >> n;
	fr(i, 0, n) cin >> A[i];
	cout<<findGap(2, n)<<endl;

}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...