Task: | Gap |
Sender: | Yytsi |
Submission time: | 2019-04-14 15:11:47 +0300 |
Language: | C++ |
Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'll findGap(int, ll)': input/code.cpp:17:7: error: 'MinMax' was not declared in this scope MinMax(l + 1, r - 1, &mn, &mx); // l < x, y < r ^~~~~~ input/code.cpp:17:7: note: suggested alternative: 'rindex' MinMax(l + 1, r - 1, &mn, &mx); // l < x, y < r ^~~~~~ rindex input/code.cpp:20:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (v.size() == N || mn == mx) break; ~~~~~~~~~^~~~ input/code.cpp:3: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:27:5: note: in expansion of macro 'FOR' FOR(i,0,v.size()-1) res = max(res, v[i+1] - v[i]); ^~~ input/code.cpp:30:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
Code
#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; } }