照顾新手

照顾新手

Papyrus在审判你 · 发布于 2025-04-27 · 浏览 299 回复 0
#include <bits/stdc++.h>
using namespace std;

int a[200025] = {0};

int main() {
	int n, b;
	cin >> n >> b;
	long long int result = 0;

	for (int i = 0; i < n; i++) {

		cin >> a[i];
	}

	sort(a, a + n);
	int l = 0, r = 0;

	for (int i = 0; i < n; i++) {

		while (a[l] < a[i] - b && l < n) {
			l++;
		}

		if (r <= l)
			r = l;

		while (a[r] == a[i] - b && r < n) {
			r++;
		}

		result += r - l;
	}

	cout << result << endl;
	return 0;
}

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复