CF1826B的题解
(一)
如果 \(x\bmod n=y\bmod n\),那么 \(|x-y|\) 是 \(n\) 的倍数。
所以这道题就变成了找没对数的差的最大公因数。
(二)
AC 代码。
#include<bits/stdc++.h>
#define int long long
using namespace std;
int t,n,a[100001];
signed main(){
	scanf("%lld",&t);
	while(t--){
		scanf("%lld",&n);
		for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
		int ans=abs(a[n]-a[1]);
		for(int i=2;i<=n/2;i++)ans=__gcd(ans,abs(a[i]-a[n-i+1]));
		printf("%lld\n",ans);
	}
	return 0;
}

                
            
        
浙公网安备 33010602011771号