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 |