社区讨论
第十一个样例过不了,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 条回复,欢迎继续交流。
正在加载回复...