蒟蒻30分,求调!!!!!
查看原帖
蒟蒻30分,求调!!!!!
895690
gghack_Nythix楼主2022/12/30 14:33

rt,用的二分

#include <bits/stdc++.h>
#define int long long
using namespace std;
int s[10000005];
bool tot[10000005];
bool check(int x,int n)
{
	memset(tot,false,sizeof(tot));
	for(int i = 1;i <= n;i ++)
	{
		int k = s[i] % x;
		if(tot[k] == 0)
		{
			tot[k] = true;
		}
		else
		{
			return 0;
		}
	}
	return 1;
}
signed main()
{
	int n;
	cin >> n;
	for(int i = 1;i <= n;i ++)
	{
		cin >> s[i];
	}
	int l = 0,r = 100000000000,mid,ans = 0;
	while(l <= r)
	{
		mid = (l + r) / 2;
		if(check(mid,n))
		{
			ans = mid;
			r = mid - 1;
		}
		else
		{
			l = mid + 1;
		}
	}
	cout << ans;
}
2022/12/30 14:33
加载中...