社区讨论

第十一个样例过不了,c=0的情况也试过了,可能是哪里没考虑到,求大佬指出

P1102A-B 数对参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mmalnuit
此快照首次捕获于
2026/03/03 20:44
上周
此快照最后确认于
2026/03/06 21:05
4 天前
查看原帖
CPP
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 200000;
long long arr[N];
int flag = 0;
int  binarySearch(long long arr[], int R, int x) {
	int l = 1;
	int r = R;
	int ans = 0;
	while (l <= r) {
		int mid = (l + r) / 2;
		if (arr[mid] >= x) {
			ans = mid;
			r = mid - 1;
		}
		else {
			l= mid + 1;
		}

	}
	return ans;
}
int  binarySearch2(long long arr[], int R, int x) {
	int l = 1;
	int r = R;
	int ans = 0;
	while (l <= r) {
		int mid = (l + r) / 2;
		if (arr[mid] > x) {
			ans = mid;
			r = mid - 1;
		}
		else {
			l = mid + 1;
		}

	}
	return ans;
}
int main() {
	long long n, key;
	int cnt = 0;
	cin >> n >> key;
	for (int i = 1; i <= n; i++) {
		cin >> arr[i];
	}
	sort(arr + 1, arr + 1 + n);
	for (int i = 1; i <= n; i++) {
		int a = arr[i];
		int b = a - key;
		 cnt += binarySearch2(arr, n, b) - binarySearch(arr, n, b);
	}
	cout << cnt;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...