Submission #1323361

#TimeUsernameProblemLanguageResultExecution timeMemory
1323361gustavo_dGap (APIO16_gap)C++20
70 / 100
39 ms1200 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; /* void MinMax(long long, long long, long long*, long long*); */ long long findGap(int T, int N) { // if (T == 1) { // ll ans = 0; // vector<ll> ini, end; // ll l=0, r=1e18, R=0, L=0; // while (true) { // if (l > r) break; // MinMax(l, r, &L, &R); // l = L; r = R; // if (l == -1) break; // // cout << l << ' ' << r << '\n'; // ini.push_back(l); end.push_back(r); // l++; r--; // } // reverse(end.begin(), end.end()); // ll last = ini[0]; // for (ll p : ini) { // ans = max(ans, p-last); // // cout << p << ' '; // last = p; // } // for (ll p : end) { // ans = max(ans, p-last); // last = p; // // cout << p << ' '; // } // // cout << '\n'; // return ans; // } ll L=0, R=0; MinMax(0LL, (ll)1e18, &L, &R); ll sz = (R-L+N-2) / (N - 1); ll l = L, r = L + sz; ll ans = sz; ll last = L; for (int i=0; i<N-1; i++, l = l+sz+1, r = min(R, r + sz+1)) { // cout << l << ' ' << r << '\n'; ll a=0, b=0; MinMax(l, r, &a, &b); if (a == -1) continue; ans = max(ans, a - last); last = b; if (r == R) break; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...