AT4255 [ABC109C] Skip
每座城市 距离起点位置为 , 满足题意时当且仅当 。若要 尽量大,则是求 。
代码:
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5 + 5;
int p[N];
int gcd(int a, int b)
{
if (b == 0) return a;
return gcd(b, a % b);
}
signed main()
{
int n, x, gcdx = 1;
scanf("%lld %lld %lld", &n, &x, &p[1]);
p[1] -= x;
gcdx = p[1];
for (int i = 2; i <= n; i++)
{
scanf("%lld", &p[i]);
p[i] -= x;
gcdx = gcd(gcdx, p[i]);
}
printf("%lld\n", abs(gcdx));
return 0;
}

浙公网安备 33010602011771号