1 条题解

  • 1
    @ 2024-10-24 11:49:47

    解题思路

    先求出所有超市位置的最大公约数,则这个最大公约数的一半就是小 Z 的速度。

    因为奇数的一半不可能为整数,所以当这个最大公约数为奇数时,无解,反之输出这个最大公约数的一半。

    code

    # include <bits/stdc++.h>
    using namespace std;
    long long a[2000010];
    int main() {
    	int n;
    	scanf("%d", &n);
    	scanf("%lld",  &a[1]);
    	long long v = a[1];
    	for (int i = 2; i <= n; i++) {
    		scanf("%lld", &a[i]);
    		v = __gcd(v, a[i]);
    	}
    	printf("%lld", (v % 2 == 0) ? v / 2 : -1);
    	return 0;
    }
    

    信息

    ID
    14143
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    1
    已通过
    1
    上传者