제출 #38813

#제출 시각아이디문제언어결과실행 시간메모리
38813WaschbarGap (APIO16_gap)C++14
87.64 / 100
93 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;
	}
	else{
    	long long mnds = (mx-mn)/N;
   		 long long lst = mn;
    
    	for(long long i = mn; i <= mx; i+=mnds) {
	 	  	long long a, b;
      		MinMax(i,i+mnds,&a,&b);
      	 	if(a != -1){
           		ans = max(ans,a-lst);
           		lst = b;
       		}
       	}
	}
 
	return ans;
 
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...