Submission #96322

#TimeUsernameProblemLanguageResultExecution timeMemory
96322jamielimGap (APIO16_gap)C++14
100 / 100
83 ms2680 KiB
#include <bits/stdc++.h> #include "gap.h" using namespace std; long long findGap(int T,int N){ if(T==1){ long long arr[N]; int a=0,b=N-1; long long s=0,t=1000000000000000000; long long mn,mx; while(a<=b){ MinMax(s,t,&mn,&mx); arr[a]=mn; arr[b]=mx; s=mn+1; t=mx-1; a++; b--; } long long ans=0; for(int i=1;i<N;i++){ ans=max(ans,arr[i]-arr[i-1]); } return ans; }else{ long long s=0,t=1000000000000000000; long long mn,mx; MinMax(s,t,&mn,&mx); if(N==2)return mx-mn; long long k=mx-mn+1; s=mn+1; long long prev=mn,ans=0; for(int i=0;i<N-1;i++){ t=s+(k/(N-1)); MinMax(s,t,&mn,&mx); if(mn!=-1){ ans=max(ans,mn-prev); prev=mx; } s=t+1; } return ans; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...