Submission #880077

#TimeUsernameProblemLanguageResultExecution timeMemory
880077JakobZorzGap (APIO16_gap)C++14
83.51 / 100
49 ms4540 KiB
#include"gap.h" #include<iostream> #include<vector> #include<algorithm> using namespace std; typedef long long ll; ll find_gap1(int n){ vector<ll>vec1,vec2; ll l=0,r=1e18; while(true){ MinMax(l,r,&l,&r); if(l==r){ if(l!=-1) vec1.push_back(l); break; } vec1.push_back(l); vec2.push_back(r); l++; r--; if((int)vec1.size()+(int)vec2.size()==n) break; } reverse(vec2.begin(),vec2.end()); vec1.insert(vec1.end(),vec2.begin(),vec2.end()); ll res=0; for(int i=1;i<n;i++) res=max(res,vec1[i]-vec1[i-1]); return res; } ll find_gap2(int n){ ll mn,mx; MinMax(0,1e18,&mn,&mx); ll gap=(mx-mn+n)/n; ll last=mn; ll res=0; for(ll i=mn;i<mx;i+=gap+1){ ll i1,i2; MinMax(i,i+gap,&i1,&i2); if(i1!=-1){ res=max(res,i1-last); last=i2; } } return res; } ll findGap(int t,int n){ if(t==1){ return find_gap1(n); }else{ return find_gap2(n); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...