1일1알

백준 2212번 센서 C++ 본문

알고리즘

백준 2212번 센서 C++

영춘권의달인 2022. 10. 3. 13:06

https://www.acmicpc.net/problem/2212

 

2212번: 센서

첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있

www.acmicpc.net

 

그리디

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <list>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
#include <limits.h>

using namespace std;
using int64 = long long;

int n, k;
vector<int> v;
vector<int> dists;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
	cout.tie(NULL);

    cin >> n >> k;
    v = vector<int>(n);
    for (int i = 0; i < n; i++) cin >> v[i];
    sort(v.begin(), v.end());
    for (int i = 1; i < n; i++) {
        int dist = v[i] - v[i - 1];
        dists.push_back(dist);
    }
    sort(dists.begin(), dists.end());
    int ans = 0;
    for (int i = 0; i < n - k; i++) {
        ans += dists[i];
    }
    cout << ans;
}

'알고리즘' 카테고리의 다른 글

백준 1699번 제곱수의 합 C++  (0) 2022.10.08
백준 17822번 원판 돌리기 C++  (0) 2022.10.04
백준 2473번 세 용액 C++  (0) 2022.10.02
백준 17404번 RGB거리 2 C++  (1) 2022.09.30
백준 2623번 음악프로그램 C++  (0) 2022.09.27