Submission #1011661

#TimeUsernameProblemLanguageResultExecution timeMemory
1011661ezzzayGap (APIO16_gap)C++14
100 / 100
44 ms5008 KiB
#include "gap.h" #include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back const int MN=2e6; ll arr[MN]; long long findGap(int T, int N){ if(T==1){ int l=0,r=N-1; ll s=0,t=1e18; while(1){ ll mn,mx; MinMax(s,t,&mn,&mx); arr[l]=mn; arr[r]=mx; s=mn+1; t=mx-1; if(l+1==r or l==r)break; l++; r--; } ll ans=0; for(int i=1;i<N;i++){ ans=max(ans,arr[i]-arr[i-1]); } return ans; } else{ ll mn,mx; MinMax(0,1e18,&mn,&mx); ll k=(mx-mn+N-2)/(N-1); ll ans=k,x,y,l=mn,i; for(i=mn;i<mx-k;i+=k+1){ MinMax(i,i+k,&x,&y); if(x!=-1){ ans=max(ans,x-l); l=y; } } MinMax(i,mx,&x,&y); if(x!=-1)ans=max(ans,x-l); return ans; } return 1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...