Submission #106847

#TimeUsernameProblemLanguageResultExecution timeMemory
106847brcodeGap (APIO16_gap)C++14
100 / 100
74 ms2936 KiB
#include <iostream> #include "gap.h" using namespace std; const long long MAXN = 1e6+5; long long arr[MAXN]; long long findGap(int T,int N){ if(T == 1){ long long a = 1; long long b = 1e18; long long l = 0; long long r = N-1; long long mn,mx; long long total = 0; while(total<N){ MinMax(a, b, &mn, &mx); arr[l] = mn; arr[r] = mx; l++; r--; total+=2; a = mn+1; b = mx-1; } long long diff = 0; for(long long i=0;i<N-1;i++){ diff = max(diff,arr[i+1]-arr[i]); } return diff; }else{ long long a = 1; long long b = 1e18; long long mn,mx; MinMax(a, b, &mn, &mx); arr[0] = mn; arr[N-1] = mx; long long diff = ((mx-mn-1)/(N-1))+1; long long l = mn+1; long long r = mn+diff; long long ans = 0; long long prv = mn; for(long long i=0;i<N-1;i++){ MinMax(l, l+diff-1, &mn, &mx); if(mn>=0){ ans = max(ans,mn-prv); prv = mx; } l+=diff; r+=diff; } return max(ans,mx-r); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...