Submission #1198685

#TimeUsernameProblemLanguageResultExecution timeMemory
1198685nvc2k8Gap (APIO16_gap)C++20
100 / 100
39 ms1964 KiB
#include <bits/stdc++.h> #include "gap.h" #define TASK "gap" #define INT_LIM (int) 2147483647 #define LL_LIM (long long) 9223372036854775807 #define endl '\n' #define mp make_pair #define pb push_back #define fi first #define se second #define BIT(i,x) (((i)>>(x))&1) #define FOR(i,a,b) for(int i = (a); i<=(b); i++) #define FORD(i,a,b) for(int i = (a); i>=(b); i--) #define ll long long #define pii pair<int,int> using namespace std; ///------------------------------------------/// ll a[100005]; long long findGap(int T, int N) { if (T==1) { ll mn = 0, mx = 1e18; FOR(i, 1, (N+1)/2) { ll newmin, newmax; MinMax(mn, mx, &newmin, &newmax); a[i] = newmin; a[N-i+1] = newmax; mn = newmin+1; mx = newmax-1; } ll ret = 0; FOR(i, 1, N-1) { ret = max(ret, a[i+1]-a[i]); } return ret; } ll n = N; MinMax(0, 1e18, &a[1], &a[n]); ll v = (a[n]-a[1]+(n-1)-1)/(n-1); ll ret = 0, lastv = a[1]; for (ll l = a[1]+1; l<a[n]; l+=v) { ll r = l+v-1; r = min(r, a[n]-1); ll minr = -1, maxr = -1; MinMax(l, r, &minr, &maxr); if (minr!=-1) { ret = max(ret, minr-lastv); } if (maxr!=-1) lastv = maxr; } ret = max(ret, a[n]-lastv); return ret; } //signed main() //{ // ///--------------------------/// // ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); // if (fopen(TASK".INP","r")!=NULL) // { // freopen(TASK".INP","r",stdin); // freopen(TASK".OUT","w",stdout); // } // ///--------------------------/// // // return 0; //} // /////------------------------------------------///
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...