ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

17087๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ 6

์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ N๋ช…๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  S์— ์žˆ๊ณ , ๋™์ƒ์€ A1, A2, ..., AN์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑธ์–ด์„œ ์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ๋•Œ ๊ฑท๋Š”๋‹ค๋ฉด 1์ดˆ ํ›„์— X+D๋‚˜ X-D๋กœ ์ด๏ฟฝ

www.acmicpc.net

 

๋ฌธ์ œ ํ’€์ด

 ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‚˜์˜ ์œ„์น˜์™€ ๋™์ƒ๋“ค์˜ ์œ„์น˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•œ๋’ค, ์ „์ฒด์˜ ์œ„์น˜์—์„œ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ์ฐพ์•„์„œ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฌธ์ œ์˜ ์ •๋‹ต์ด ๋œ๋‹ค. ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•  ๋•Œ ์„ธ ์ˆ˜์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค๊ณ  ํ•˜๋ฉด a, b์— ๋Œ€ํ•œ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ , ๊ตฌํ•ด์ง„ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์™€ c์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด a, b, c์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์™€ ๊ฐ™์•„์ง„๋‹ค. ์ด ์„ฑ์งˆ์„ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

 

์ฝ”๋“œ

from sys import stdin


def gcd(a, b):
    if a < b:
        a, b = b, a
    while b:
        a, b = b, a % b
    return a


if __name__ == "__main__":
    n, s = map(int, stdin.readline().split())
    brothers = list((map(int, stdin.readline().split())))
    dist = []

    for location in brothers:
        dist.append(abs(location - s))

    answer = dist[0]

    if len(dist) > 1:
        for d in dist:
            answer = gcd(answer, d)

    print(answer)

 

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€