AcWing 4483. 格斗场(java---map+贪心+判重)
原题链接
中等
作者:
CYHMMZDAN
,
2023-03-20 19:59:15
,
所有人可见
,
阅读 201
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
static long[] a = new long[1000005];
static long[] b = new long[1000005];
static int[] c = new int[100005];
static int[] d = new int[200005];
static int[] e = new int[1000005];
static int t = 520;
static int ans = 0;
static int max = -1;
static int min = (int) 2e+9;
static int n = 0;
static int m = 0;
static HashMap<Integer, Integer> map = new HashMap<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
m = sc.nextInt();
for (int i = 1; i <= n; i++) {
d[i] = sc.nextInt();
if (map.get(d[i]) == null) {
t = 0;
} else {
t = map.get(d[i]);
}
map.put(d[i], ++t);
}
Arrays.sort(d, 1, n + 1);
d[n+1]=d[n];
int k=0;
for (int i = 1; i <=n; i++) {
if ((d[i+1]<=(d[i]+m))&&d[i+1]!=d[i]) {
ans += map.get(d[i]);
k=1;
}
}
System.out.println(n - ans);
}
}