Submission #38811

#TimeUsernameProblemLanguageResultExecution timeMemory
38811WaschbarGap (APIO16_gap)C++14
30 / 100
2000 ms5144 KiB
#include <bits/stdc++.h>
#include "gap.h"
using namespace std;
 
const long long INF = 1e18;
 
long long findGap(int T, int N) {
 
	multiset < pair< long long,pair<long long,long long> > > st;
	long long mn, mx;
	MinMax(0ll,INF,&mn,&mx);
	st.insert({-(mx-mn),{mn,mx}});
	long long ans = 0;
 
    if(N == 2){
        return mx - mn;
    }
	
	if (T == 1){
		for (int i=1;i<(N+1)/2;i++){
			long long mmn, mmx;
			MinMax(mn+1,mx-1,&mmn,&mmx);
			ans = max(ans,mmn-mn);
			ans = max(ans,mx-mmx);
			mn = mmn;
			mx = mmx;
		}
		ans = max(ans,mx-mn);
		return ans;
	}
	
    long long mnds = (mx-mn)/N;
    vector < int > v;
    long long lst = mn;
    
    for(int i = mn; i <= mx; i+=mnds) {
	   long long aa, bb;
       MinMax(i,i+mnds,&aa,&bb);
       if(aa != -1){
           ans = max(ans,aa-lst);
           lst = bb;
       }
	}
 
	return ans;
 
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...