Submission #564882

#TimeUsernameProblemLanguageResultExecution timeMemory
564882ljubaGap (APIO16_gap)C++17
100 / 100
1587 ms9840 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; long long findGap(int T, int N) //probably again different solution for different test cases :( { if(T == 1) { // cerr << "entered?" << endl; vector<ll> v(N); ll mini = -1, maksi = ll(1e18) + 1; for(int i = 0; i < N; ++i) { if(i > N - i - 1) break; ++mini, --maksi; MinMax(mini, maksi, &mini, &maksi); // cerr << mini << " " << maksi << '\n'; v[i] = mini; v[N - i - 1] = maksi; } ll ans = 0; for(int i = 1; i < N; ++i) { ans = max(ans, v[i] - v[i - 1]); } return ans; } else { ll mini = 0, maksi = ll(1e18); MinMax(mini, maksi, &mini, &maksi); ll korak = (maksi - mini + N - 2) / (N - 1); ll prosli = mini; ll ans = 0; ll naj = maksi; for(ll i = mini + 1; i <= naj; i += korak + 1) { MinMax(i, min(i + korak, naj), &mini, &maksi); cerr << "----------" << endl; cerr << i << " " << i + korak << endl; cerr << mini << " " << maksi << endl; cerr << "----------" << endl; if(mini != -1) { ans = max(ans, mini - prosli); prosli = maksi; } } return ans; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...