| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1085042 | Timosh | Gap (APIO16_gap) | C++17 | 63 ms | 5848 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "gap.h"
using namespace std;
long long mn = 0, mx = 0;
set<long long> st;
void gen(long long l, long long r)
{
MinMax(l, r, &mn, &mx);
if (mn == -1)
return;
st.insert(mn);
st.insert(mx);
if (mn == mx)
return;
l = mn + 1, r = mx - 1;
gen(l, (l + r) / 2);
gen((l + r) / 2 + 1, r);
}
long long findGap(int T, int N)
{
long long ans = 1;
if (T == 2)
{
gen(0, 1e18);
}
else
{
long long l = 0, r = 1e18;
while (1)
{
MinMax(l, r, &mn, &mx);
if (mn == -1)
break;
st.insert(mn);
st.insert(mx);
l = mn + 1, r = mx - 1;
if (mn == mx || st.size() >= N)
break;
}
}
long long last = *st.begin();
for (auto &i : st)
ans = max(ans, i - last), last = i;
return ans;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
