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<iostream>
#include<algorithm>
#include<vector>
#include "gap.h"
using namespace std;
#define vel vector<long long>
#define ll long long
#define rep(i,n) for(__int128 i=0;i<n;i++)
int pr = 1000000007;
int ref(int &a) {
a = a % pr;
a += pr;
a = a % pr;
return a;
}
long long findGap(int t, int n) {
__int128 N = n;
long long a1; long long an;
long long INF = pr - 7;
INF *= INF;
MinMax(0, INF, &a1, &an);
__int128 X = an - a1 + 1;
long long now_min = a1;
long long ans = 0;
rep(i, n) {
long long mn, mx;
__int128 j = i;
j++;
__int128 n1 = (X*i) / N;
__int128 n2 = (X*j) / N;
ll q1 = a1 + n1;
ll q2 = a1 + n2;
MinMax(q1,q2, &mn, &mx);
if (mn != -1) {
ans = max(mn - now_min, ans);
now_min = mx;
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |