题目可以转化成找出能圈最多鸡窝的栅栏喵~排序双指针就可以了喵~

#include <algorithm>
#include <cfloat>
#include <iomanip>
#include <iostream>
#include <vector>
using namespace std;

int n;
int k;

vector<int> x;

void Solve() {
    cin >> n >> k;
    x.resize(n);
    for (auto& v : x) {
        cin >> v;
    }
    sort(x.begin(), x.end());
    int maxi = 0;
    for (int l = 0, r = 0; r < n; r++) {
        while (x[r] - x[l] > k) {
            l++;
        }
        maxi = max(maxi, r - l);
    }
    cout << setprecision(DBL_MANT_DIG) << (double)(maxi + 1) / n;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    Solve();
}
// 64 位输出请用 printf("%lld")