Submission #42854

#TimeUsernameProblemLanguageResultExecution timeMemory
42854fefeGap (APIO16_gap)C++14
78.54 / 100
95 ms1516 KiB
#include "gap.h" #include<stack> #include<stdio.h> #define f MinMax #define max(x,y) ((x)>(y)?(x):(y)) using namespace std; long long findGap(int T, int N) { long long s,e,ps,pe,maxx=0,x,y; if(T==1){ f(0,(1LL<<62),&ps,&pe); N-=2; while(N>=2){ f(ps+1,pe-1,&s,&e); N-=2; maxx=max(maxx,max(s-ps,pe-e)); ps=s;pe=e; } if(N==1){ f(ps+1,pe-1,&s,&e); return max(maxx,max(s-ps,pe-e)); } return max(maxx,pe-ps); } f(0,(1LL<<62),&ps,&pe); x=(pe-ps)/N; if((pe-ps)%N) x++; while(ps!=pe){ y=ps; while(1){ f(y+1,y+x,&s,&e); if(s!=-1) break; y+=x; } maxx=max(maxx,s-ps); ps=e; } return maxx; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...