https://www.acmicpc.net/problem/2485
#include <bits/stdc++.h>
#define endl "\n"
using namespace std;
void CPP_INIT() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
int gcd(int n1, int n2)
{
if (n2 == 0) return n1;
return gcd(n2, n1 % n2);
}
int main(void) {
CPP_INIT();
int input1, input2;
int cha;
vector<int> v;
vector<int> c;
cin >> input1;
for (int i = 0; i < input1; i++) {
cin >> input2;
v.push_back(input2);
if (i > 0) {
c.push_back(v[i] - v[i - 1]);
}
}
cha = c[0];
for (int i = 0; i < c.size(); i++) {
cha = gcd(cha, c[i]);
}
int n = v[v.size() - 1] - v[0];
int answer = n / cha - (input1 - 1);
cout << answer;
}
'알고리즘' 카테고리의 다른 글
C++ 알고리즘 - 백준 13909 창문 닫기 (0) | 2025.01.12 |
---|---|
C++ 알고리즘 - 백준 4134 다음 소수 (0) | 2025.01.12 |
C++ 알고리즘 - 백준 1735 분수 합 (0) | 2025.01.11 |
C++ 알고리즘 - 백준 1934 최소공배수 (0) | 2025.01.11 |
C++ 알고리즘 - 백준 11478 서로 다른 부분 문자열의 개수 (0) | 2025.01.11 |