Submission #109323

#TimeUsernameProblemLanguageResultExecution timeMemory
109323b2563125Gap (APIO16_gap)C++14
53.51 / 100
76 ms1272 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...