Submission #1301751

#TimeUsernameProblemLanguageResultExecution timeMemory
1301751islam_2010Gap (APIO16_gap)C++20
100 / 100
41 ms3240 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; #define ll long long long long findGap(int T, int N) { if(T == 1){ vector<ll> v; ll mn = 0, mx = 0; MinMax(0, 1e18, &mn, &mx); v.push_back(mn); if(mn != mx){ v.push_back(mx); } ll l = mn, r = mx; while (l <= r){ if(v.size() >= N) break; MinMax(l+1, r-1, &mn, &mx); if(mn == -1) break; v.push_back(mn); if(mn != mx){ v.push_back(mx); } l = mn; r = mx; }sort(v.begin(), v.end()); ll ans = 0; for(ll i = 0; i < v.size()-1; i++){ ans = max(ans, v[i+1] - v[i]); }return ans; }else { ll mn = 0, mx = 0; MinMax(0, 1e18, &mn, &mx); ll p = (mx-mn)/(N-1); ll ans = 0; while(mn < mx){ ll l = 0, r = 0; MinMax(mn+1, mn+p, &l, &r); if(l == -1){ p *=2; }else { ans = max(ans, l - mn); p = ans; mn = r; } }return ans; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...