提交时间:2026-02-02 15:59:33

运行 ID: 39808

#include <bits/stdc++.h> using namespace std; int a[100005]; int b[100005]; map<int, int> m; void solve() { m.clear(); int n, k; cin >> n >> k; for (int i = 1; i <= n; i++) { cin >> a[i]; m[a[i]]++; } sort(a+1, a+n+1); int l = unique(a+1, a+n+1) - a - 1; for (int i = 1; i <= l; i++) { b[i] = b[i-1] + m[a[i]]; } int maxn = 0; for (int i = 1; i <= l-k; i++) { maxn = max(maxn, b[i+k]-b[i-1]); } cout << maxn << endl; } int main() { int t; cin >> t; while (t--) { solve(); } return 0; }