CSES - APIO 2016 - Results
Submission details
Task:Gap
Sender:Olli
Submission time:2019-04-13 13:33:07 +0300
Language:C++
Status:COMPILE ERROR

Compiler report

input/code.cpp: In function 'll findGap(int, int)':
input/code.cpp:18:17: error: invalid type argument of unary '*' (have 'll {aka long long int}')
   MinMax(a, b, *mn, *mx);
                 ^~
input/code.cpp:18:22: error: invalid type argument of unary '*' (have 'll {aka long long int}')
   MinMax(a, b, *mn, *mx);
                      ^~
input/code.cpp:30:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(v.size() != n) {
     ~~~~~~~~~^~~~

Code

#include <iostream>
#include "gap.h"
#include <vector>
#include <algorithm>

using namespace std;

typedef long long ll;


ll findGap(int t, int n) {
	if(t == 2) return 0;
	ll a = 0;
	ll b = 1e18;
	vector<ll> v;
	ll mn, mx; mn = a; mx = b;
	while(mn != mx) {
		MinMax(a, b, *mn, *mx);
		if(mn == mx) {
			if(mn == -1) break;
			v.push_back(mn);
		} else {
			v.push_back(mn);
			v.push_back(mx);
			a = mn + 1;
			b = mx - 1;
			if(a > b) break;
		}
	}
	if(v.size() != n) {
		throw exception();
	}

	sort(v.begin(), v.end());
	ll ma = 0;
	for(int i = 0; i < n-1; ++i) {
		ma = max(ma, v[i+1] - v[i]);
	}
	return ma;
}