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>
using namespace std;
#define pb push_back
#define ff first
#define ss second
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#include "gap.h"
//#define int long long
template <class F, class _S>
bool chmin(F &u, const _S &v){
bool flag = false;
if ( u > v ){
u = v; flag |= true;
}
return flag;
}
template <class F, class _S>
bool chmax(F &u, const _S &v){
bool flag = false;
if ( u < v ){
u = v; flag |= true;
}
return flag;
}
int solve1(int t, int n){
long long l = 0, r = 1e18;
vector<int> a, b;
long long lf = 1, rf = 1;
while(1){
MinMax(l, r, &lf, &rf);
if(lf == -1)break;
a.pb(lf);
b.pb(rf);
if(lf == rf || a.size()*2 >= n)break;
l = lf+1, r = rf-1;
}
int ans = 1;
sort(all(b));
for(int i = 1; i < (int)a.size(); i++)
chmax(ans, a[i] - a[i-1]);
for(int i = 1; i < (int)b.size(); i++)
chmax(ans, b[i] - b[i-1]);
return ans;
}
long long findGap(int t, int n)
{
//if(t == 1){
return solve1(t, n);
//}
return 0;
}
Compilation message (stderr)
gap.cpp: In function 'int solve1(int, int)':
gap.cpp:41:29: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
41 | if(lf == rf || a.size()*2 >= n)break;
| ~~~~~~~~~~~^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |