제출 #486945

#제출 시각아이디문제언어결과실행 시간메모리
486945cfalasGap (APIO16_gap)C++14
70 / 100
46 ms1856 KiB
#include "gap.h" #include<bits/stdc++.h> using namespace std; #define mp make_pair #define INF 10000000 #define MOD 1000000007 #define MID ((l+r)/2) #define HASHMOD 2305843009213693951 #define ll long long #define ull unsigned long long #define F first #define S second typedef pair<ll, ll> ii; typedef pair<ii, int> iii; typedef vector<int> vi; typedef vector<ii> vii; typedef map<int, int> mii; #define EPS 1e-6 #define FOR(i,n) for(int i=0;i<((int)(n));i++) #define FORi(i,a,b) for(int i=((int)(a));i<((int)(b));i++) #define FOA(v, a) for(auto v : a) int t, n; vi a, b; long long findGap(int T, int n){ if(T==2){ long long int a1=0, an=0; MinMax(0, (ll)1e18, &a1, &an); long long ans = (an - a1) / (n-1); long long start = a1 + 1; long long ansstart=a1; while(start <= an){ long long a=0, b=0; MinMax(start, start + ans, &a, &b); if(a==-1){ start += ans + 1; } else{ ans = max(ans, a-ansstart); ansstart = b; start = b+1; } } return ans; } else{ ll a[n] = {}; MinMax(0, (ll)(1e18), &a[0], &a[n-1]); FORi(i,1,n/2){ MinMax(a[i-1]+1, a[n-i]-1, &a[i], &a[n-i-1]); } ll ans = a[1]-a[0]; FOR(i,n-1){ ans = max(ans, a[i+1]-a[i]); } return ans; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...