Submission #875607

#TimeUsernameProblemLanguageResultExecution timeMemory
875607NeroZeinGap (APIO16_gap)C++17
9.28 / 100
62 ms3104 KiB
#include "gap.h"
#include "bits/stdc++.h"

using namespace std; 

long long findGap(int T, int N) {
  long long mn, mx;
  MinMax(0, LLONG_MAX, &mn, &mx); 
  if (N == 2) {
    return mx - mn; 
  }
  long long ret = 0;
  long long b = (mx - mn + N - 2) / (N - 1) - 1; 
  long long cur = mn;
  while (cur < mx) {
    //cout << "CUR: " << cur << '\n'; 
    int cnt = 0; 
    long long s, z;
    long long ccur = cur;
    while (true) {
      MinMax(ccur + 1, ccur + b, &s, &z);
      if (z == -1) {
        cnt++; 
        ccur += b; 
      } else {
        ret = max(ret, s - cur);
        ccur = s;
        break;  
      }
    }
    cur = ccur; 
  }
  return ret;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...