https://www.acmicpc.net/problem/2212
2212번: 센서
첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있
www.acmicpc.net
목표 : n개의 센서들을 k개의 구간으로 나눕니다.
0. 집중국의 개수가 더 많으면, 센서마다 집중국을 설치하면 되므로 0 입니다.
1. 오름차순으로 센서 위치를 정렬합니다.
2. 센서 사이의 거리를 구하고, 내림차순으로 정렬합니다.
3. 거리 합이 최소인 k구간으로 나누기 위해,거리로 정렬한 것에서 k-1번째의 거리들을 사용합니다.
import sys
input = sys.stdin.readline
n = int(input())
k = int(input())
sensorPoint = sorted(list(map(int,input().split())))
if k>=n:
print(0)
sys.exit()
dist = []
for i in range(1,n):
dist.append(sensorPoint[i] - sensorPoint[i-1])
dist.sort(reverse=True)
print(sum(dist[k-1:]))
'알고리즘 공부' 카테고리의 다른 글
[백준/정렬] 11000번 강의실 배정 (0) | 2022.08.28 |
---|---|
[백준/재귀] 1662번: 압축 (0) | 2022.08.27 |
[백준/DP] 2294번: 동전 2 (0) | 2022.08.14 |
[백준/정렬, 투 포인터] 2473번 세 용액 (0) | 2022.08.07 |
[백준/비트마스크] 14939번 불 끄기 (0) | 2022.04.15 |