https://www.acmicpc.net/problem/17087
๋ฌธ์
์๋น์ด๋ ๋์ 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๊ฐ์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.
ํ์ด
๋์์์น์ ์๋น์ด์์น ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ค์ ๊ตฌํ๊ณ ํด๋น ๊ฑฐ๋ฆฌ๋ค์ ์ต์๊ฐ์ ๊ตฌํ๋ฉด ๋๋ค.
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int getGcd(int a, int b) { // a<b
int tmp;
while(a!=0){
tmp = b%a;
b = a;
a = tmp;
}
return b;
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n, s, input;
cin >> n >> s;
vector<int> a(n);
for(int i=0; i<n; i++) {
cin >> input;
a[i] = abs(input - s);
}
int gcd = a[0];
sort(a.begin(), a.end());
for(int i=0; i<n; i++)
gcd = getGcd(gcd, a[i]);
cout << gcd;
return 0;
}
/*
*/
'๐๏ธ ICPC Sinchon > Basic Math' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 2108๋ฒ: ํต๊ณํ (0) | 2023.05.30 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 2981๋ฒ: ๊ฒ๋ฌธ (0) | 2023.01.24 |
[BOJ][C++] ๋ฐฑ์ค 20003๋ฒ: ๊ฑฐ์ค๋ฆ๋์ด ์ซ์ด์ (0) | 2023.01.24 |
[BOJ][C++] ๋ฐฑ์ค 13241๋ฒ: ์ต์๊ณต๋ฐฐ์ (0) | 2023.01.24 |
[BOJ][C++] ๋ฐฑ์ค 1850๋ฒ: ์ต๋๊ณต์ฝ์ (0) | 2023.01.24 |