본문 바로가기

백준 문제풀이/Number Theory

[C++] 백준 문제풀이 (Number Theory) 17087번 숨바꼭질 6

 

 

https://www.acmicpc.net/problem/17087

 

17087번: 숨바꼭질 6

수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다. 수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이

www.acmicpc.net

 

 

#include <bits/stdc++.h>
// [C++] 백준 문제풀이 (Number Theory)


int gcd(int a, int b){
	if (b == 0) return a;
	return gcd(b, a % b);
}


int main(int argc, char *argv[])
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(nullptr);

	int n, s, a;
	std::cin >> n >> s;
	std::cin >> a;
	int ret = std::abs(s - a);

	for (int i = 1; i < n; ++i){
		std::cin >> a;
		ret = gcd(ret, std::abs(s - a));
	}
	std::cout << ret << "\n";
	return 0;
}