-
[백준 17087] 숨바꼭질6Algorithm/Source Code 2021. 10. 6. 01:14반응형
문제
수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다.
수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이동할 수 있다. 수빈이의 위치가 동생이 있는 위치와 같으면, 동생을 찾았다고 한다.
모든 동생을 찾기위해 D의 값을 정하려고 한다. 가능한 D의 최댓값을 구해보자.
입력
첫째 줄에 N(1 ≤ N ≤ 105)과 S(1 ≤ S ≤ 109)가 주어진다. 둘째 줄에 동생의 위치 Ai(1 ≤ Ai ≤ 109)가 주어진다. 동생의 위치는 모두 다르며, 수빈이의 위치와 같지 않다.
출력
가능한 D값의 최댓값을 출력한다.
solution.py
import math n, S = map(int, input().split()) pos = list(map(int, input().split())) dif = list(set(abs(p - S) for p in pos)) D = min(dif) for d in dif: D = math.gcd(d, D) print(D)
출처
https://www.acmicpc.net/problem/17087
반응형'Algorithm > Source Code' 카테고리의 다른 글
[백준 11653] 소인수분해 (0) 2021.10.06 [백준 1182] 부분수열의 합 (0) 2021.10.06 [백준 9020] 골드바흐의 추측 (0) 2021.10.05 [프로그래머스 42586] 기능개발 (0) 2021.08.27 [프로그래머스 42579] 베스트앨범 (2) 2021.08.09