Submission #1340954

#TimeUsernameProblemLanguageResultExecution timeMemory
1340954altern23Gap (APIO16_gap)C++20
30 / 100
37 ms2344 KiB
#include "gap.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long

long long findGap(int T, int N) {
      vector <ll> v;
      ll ret = 0;

      if (T == 1) {
            ll L = 0, R = 1e18;
            while ((ll)v.size() < N && L <= R) {
                  MinMax(L, R, &L, &R);
                  v.push_back(L);
                  if (L != R) v.push_back(R);
                  L++, R--;
            }
      }
      else {
            queue <pair<ll, ll>> q;
            q.push({0, 1e18});
            while ((ll)v.size() < N && !q.empty()) {
                  auto [l, r] = q.front(); q.pop();
                  MinMax(l, r, &l, &r);
                  v.push_back(l);
                  if (l != r) v.push_back(r);
                  l++, r--;
                  if (l <= r) q.push({l, r});
            }
      }

      sort(v.begin(), v.end());
      for (int i = 1; i < (ll)v.size(); i++) ret = max(ret, v[i]-v[i-1]);

      return ret;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...