제출 #910453

#제출 시각아이디문제언어결과실행 시간메모리
910453ibm2006Gap (APIO16_gap)C++17
89.04 / 100
48 ms3544 KiB
#include "gap.h" #include<bits/stdc++.h> using namespace std; typedef long long int ll; ll n,s,l,r,x,y,z,w,a[1100000],i,j,k,m,mx,gap; long long findGap(int T, int N) { n=N; if(T==1) { l=0; r=1e18-1; x=1; y=n; while(l<r) { MinMax(l,r,&l,&r); a[x]=l; a[y]=r; x++; y--; if(l==r||x>y) break; l++; r--; } for(i=1;i<n;i++) { s=max(s,a[i+1]-a[i]); } return s; } l=0; r=1e18-1; MinMax(l,r,&x,&y); if(n==2) { return y-x; } gap=(y-x)/(n-1); l=x+1; mx=x; //printf("%lld,%lld\n",x,y); while(1) { r=min(l+gap-1,y-1); //printf("(%lld,%lld)\n",l,r); MinMax(l,r,&z,&w); if(z==-1) { l+=gap; if(l>=y) break; continue; } s=max(s,z-mx); mx=w; l+=gap; if(l>=y) break; } s=max(s,y-mx); return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...