제출 #1297778

#제출 시각아이디문제언어결과실행 시간메모리
1297778ChuanChenGap (APIO16_gap)C++20
83.51 / 100
50 ms3308 KiB
#include<bits/stdc++.h> using namespace std; typedef long long int ll; const ll INF=1e18; #include "gap.h" ll findGap(int T, int n){ if(T==1){ vector<ll>v(n); ll l=0, r=INF, idl=0, idr=n-1; while(idl<=idr){ ll a=-1, b=-1; MinMax(l,r,&a,&b); l=a; r=b; v[idl]=l; v[idr]=r; l++; r--; idl++; idr--; } ll resp=0; for(int i=1;i<n;i++) resp=max(resp,v[i]-v[i-1]); return resp; } ll mn, mx, a1, an; MinMax(0, INF, &mn, &mx); a1 = mn; an = mx; ll A = mx-mn; ll B = A/(n-1); //[0, B] [B+1, 2B+1] .. vector<pair<ll, ll>> intervals; for(ll i = 0; i <= an; i+=B+1){ ll l = i, r = i+B; MinMax(l, r, &mn, &mx); if(mn == -1) continue; intervals.emplace_back(mn, mx); } ll resp = 0; for(int i = 1; i < intervals.size(); i++){ resp = max(intervals[i].first-intervals[i-1].second, resp); } return resp; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...