해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
우리에게는 테스트 케이스가 하나도 없다. 큰 올림피아드가 다가오고 있다. 하지만 출제진의 최우선 과제는 라운드에 문제를 하나 더 추가하는 것이어야 한다.
직선 위에 있는 점들의 다중집합의 지름은 이 집합에서 두 점 사이 거리의 최댓값이다. 예를 들어, 다중집합 {1, 3, 2, 1}의 지름은 2이다.
한 점으로 이루어진 다중집합의 지름은 0이다.
직선 위에 n개의 점이 주어진다. 남은 점들의 다중집합의 지름이 d을 초과하지 않도록 하기 위해 제거해야 하는 점의 최소 개수는 얼마인가?
첫 번째 줄에 두 정수 n과 d가 (1 ≤ n ≤ 100, 0 ≤ d ≤ 100) 주어진다. 이는 각각 점의 개수와 허용되는 최대 지름이다.
두 번째 줄에 공백으로 구분된 n개의 정수 (1 ≤ xi ≤ 100)가 주어진다. 이는 점들의 좌표이다.
제거해야 하는 점의 최소 개수를 나타내는 정수 하나를 출력한다.
6 3
1 3 4 6 9 10
3
3 1
2 1 4
1
3 0
7 7 7
0
첫 번째 테스트 케이스에서 최적의 전략은 좌표가 4인 점을 제거하는 것이다. 남은 점들의 좌표는 1과 2이므로, 지름은 2 - 1 = 1이 된다.
두 번째 테스트 케이스에서 지름은 0이므로, 어떤 점도 제거할 필요가 없다.
세 번째 테스트 케이스에서 최적의 전략은 좌표가 1, 9, 10인 점들을 제거하는 것이다. 남은 점들의 좌표는 3, 4, 6이므로, 지름은 6 - 3 = 3이 된다.