Submission #1083383

#TimeUsernameProblemLanguageResultExecution timeMemory
1083383djs100201Gap (APIO16_gap)C++17
30 / 100
3097 ms3320 KiB
#include "gap.h" #include <bits/stdc++.h> #define all(v) v.begin(), v.end() using namespace std; using ll = long long; using P = pair<ll, ll>; using PP = pair<ll, P>; const ll n_ = 2e5 + 10, inf = (ll)2e9 * (ll)1e9 + 7, mod = 998244353; ll n, m, tc = 1, a, b, c, d, sum, x, y, z, base, ans, k; ll findGap(int T, int N) { if (T == 1) { vector<ll> res(N); ll l = 0, r = 1e18, mn, mx, lidx = 0, ridx = N - 1; for (int i = 0; i < (N + 1) / 2; i++) { MinMax(l, r, &mn, &mx); res[lidx++] = mn, res[ridx--] = mx; l = mn + 1, r = mx - 1; } ll ret = 0; for (int i = 1; i < N; i++) ret = max(ret, res[i] - res[i - 1]); return ret; } else { ll l = 0, r = 1e18, ret = 0, mn, mx; MinMax(l, r, &mn, &mx); r = mx; vector<ll> R; ll gap = mx - mn, new_gap = gap / N; R.push_back(mn); ll x = mn; while (1) { MinMax(x, x + new_gap, &mn, &mx); if (mx == -1) { x += new_gap + 1; } else { R.push_back(mn); R.push_back(mx); x = mx + 1; if (mn == r) break; } } for (int i = 1; i < R.size(); i++) ret = max(ret, R[i] - R[i - 1]); return ret; } }

Compilation message (stderr)

gap.cpp: In function 'll findGap(int, int)':
gap.cpp:44:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |   for (int i = 1; i < R.size(); i++)
      |                   ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...