RE?????
查看原帖
RE?????
1080857
wanglongye楼主2024/1/12 22:29
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
long long n[1000010], x[1000010], N, c, b, su, l, r, mid, p, q;
int main() {
	cin >> N >> c;
	for (long long i = 1; i <= N; i++) scanf("%lld", n + i);
	sort(n, n + N);
	p = q = 1;
	while (p <= N + 1) {
		while (n[p++] == n[q]);
		p--;
		x[q] = p - q;
		q = p;
	}
	for (long long i = 1; i <= N; i++)  {
		b = n[i] - c;
		l = 1;
		r = N;
		while (l <= r) {
			mid = (l + r + 1) / 2;
			if (b <= n[mid]) r = mid - 1;
			else l = mid + 1;
		}
		if (b == n[l]) su += x[l];
	}
	cout << su << endl;
	return 0;
}
2024/1/12 22:29
加载中...