개발일지/알고리즘

백준 2485번 : 가로수

김진우 개발일지 2025. 2. 2. 18:45
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>

using namespace std;

int main() {
    int N;
    cin >> N;
    vector<int> trees(N);
    
    for (int i = 0; i < N; ++i) {
        cin >> trees[i];
    }

    vector<int> differences(N - 1);
    for (int i = 1; i < N; ++i) {
        differences[i - 1] = trees[i] - trees[i - 1];
    }

    int gcd_value = differences[0];
    for (int i = 1; i < N - 1; ++i) {
        gcd_value = gcd(gcd_value, differences[i]);
    }

    int result = 0;
    for (int diff : differences) {
        result += (diff / gcd_value) - 1;
    }

    cout << result << endl;
    return 0;
}

'개발일지 > 알고리즘' 카테고리의 다른 글

다익스트라 알고리즘  (0) 2025.02.26
백준 2580번 : 스도쿠  (0) 2025.02.02
백준 2661번 : 좋은수열  (1) 2025.02.02
백준 15686번 : 치킨 배달  (0) 2025.02.02
백준 14889번 : 스타트와 링크  (0) 2025.02.02