| Task: | Gap |
| Sender: | Yytsi |
| Submission time: | 2019-04-14 15:32:26 +0300 |
| Language: | C++ |
| Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'll findGap(int, ll)':
input/code.cpp:18:7: error: 'MinMax' was not declared in this scope
MinMax(l + 1, r - 1, &mn, &mx); // l < x, y < r
^~~~~~
input/code.cpp:18:7: note: suggested alternative: 'rindex'
MinMax(l + 1, r - 1, &mn, &mx); // l < x, y < r
^~~~~~
rindex
input/code.cpp:21:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (v.size() == N || mn == mx) break;
~~~~~~~~~^~~~
input/code.cpp:4:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define FOR(i, a, b) for (int i=a; i<(b); i++)
^
input/code.cpp:28:5: note: in expansion of macro 'FOR'
FOR(i,0,v.size()-1) res = max(res, v[i+1] - v[i]);
^~~
input/code.cpp:33:5: error: 'MinMax' was not declared in this scope
MinMax(l + 1LL, r - 1LL, &mn, &mx);
^~~~~~
input/code.cpp:33:5: note: suggested alternative: 'rindex'...Code
//#include "gap.h" // oopsie
#include <bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for (int i=a; i<(b); i++)
#define F first
#define S second
#define pb push_back
typedef long long ll;
typedef pair<int, int> pii;
ll findGap(int T, ll N) {
if (T == 1) {
ll l = 0, r = 1e18 + 1;
vector<ll> v;
while (true) {
ll mn, mx;
MinMax(l + 1, r - 1, &mn, &mx); // l < x, y < r
v.pb(mn);
v.pb(mx);
if (v.size() == N || mn == mx) break;
l = mn, r = mx;
}
sort(v.begin(), v.end());
ll res = 0;
FOR(i,0,v.size()-1) res = max(res, v[i+1] - v[i]);
return res;
} else {
ll l = 0, r = 1e18+1;
ll mn, mx;
MinMax(l + 1LL, r - 1LL, &mn, &mx);
if (N == 2) return mx - mn;
ll len = mx - mn + 1;
l = mn + 1;
ll pr = mn, res = 0;
// iterate over the array in (i+1, i) pairs
FOR(i,0,N-1) {
// l
// (X X) jump
// r
r = l + len / (N - 1);
MinMax(l, r, &mn, &mx);
if (mn != -1) {
res = max(res, mn - pr);
pr = mx;
}
// jump after last group
// (X X) jump
// r
l = r + 1;
}
return res;
}
}