#include <bits/stdc++.h>
#include "gap.h"
using namespace std;
#define ll long long
ll findGap(int T, int N)
{
vector<ll> v(N);
ll maxDif = 0;
if (T == 1)
{
int p1 = 0, p2 = N - 1;
ll a = -1, b = 1LL * 1000 * 1000 * 1000 * 1000 * 1000 * 1000+ 1;
while (p1 <= p2)
{
ll c1, c2;
MinMax(a + 1, b - 1, &c1, &c2);
v[p1] = c1;
v[p2] = c2;
p1++; p2--;
a = c1; b = c2;
}
for (int i = 1; i < N; i++)
maxDif = max(maxDif, v[i] - v[i - 1]);
}
else
{
ll start, finish;
MinMax(0, 1LL * 1000 * 1000 * 1000 * 1000 * 1000 * 1000, &start, &finish);
while (start != finish)
{
ll p = 1;
ll a, b;
if (maxDif == 0)
{
MinMax(start + 1, start + 1 + p, &a, &b);
while (b == -1)
{
p*=2;
if (start + 1 + p >= finish)
MinMax(start + 1, finish, &a, &b);
else
MinMax(start + 1, start + 1 + maxDif + p, &a, &b);
}
maxDif = max(maxDif, a - start);
start = b;
continue;
}
ll p = maxDif * 2;
MinMax(start + 1, start + p, &a, &b);
while (b == -1)
{
p*=2;
if (start + p >= finish)
MinMax(start + 1, finish, &a, &b);
else
MinMax(start + 1, start + p, &a, &b);
}
maxDif = max(maxDif, a - start);
start = b;
}
}
return maxDif;
}
Compilation message
gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:55:16: error: redeclaration of 'long long int p'
55 | ll p = maxDif * 2;
| ^
gap.cpp:35:16: note: 'long long int p' previously declared here
35 | ll p = 1;
| ^