제출 #709309

#제출 시각아이디문제언어결과실행 시간메모리
709309groshiGap (APIO16_gap)C++17
30 / 100
61 ms1864 KiB
#include<iostream> #include "gap.h" #define int long long using namespace std; long long a[200000]; /*void MinMax(long long x,long long y,int *l,int *r) { cout<<x<<" "<<y<<"\n"; cin>>*l>>*r; }*/ long long findGap(int32_t t,int32_t n) { if(t==1) { int l,r; MinMax(0,(long long)1e18,&l,&r); a[1]=l; a[n]=r; int pocz=2,kon=n-1; while(pocz<=kon) { MinMax(a[pocz-1]+1,a[kon+1]-1,&l,&r); a[pocz]=l; a[kon]=r; pocz++; kon--; } long long wynik=0; for(int i=1;i<n;i++) wynik=max(wynik,a[i+1]-a[i]); return wynik; } else{ int l,r; MinMax(0,(long long)1e18,&l,&r); int koncowka=r; int srednia=(r-l)-1; srednia/=(n-1); srednia++; int kon=l+srednia; for(int pocz=l;kon<koncowka;) { if(kon<=pocz) kon=pocz+srednia; MinMax(pocz+1,kon,&l,&r); if(l==-1) kon+=srednia; else{ srednia=max(srednia,l-pocz); pocz=l; kon=r; } } return srednia; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...