社区讨论
过了样例,其余全WA,请问是哪个细节上出了问题,请大佬指点。
P1102A-B 数对参与者 2已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @lo2tf6eg
- 此快照首次捕获于
- 2023/10/23 19:29 2 年前
- 此快照最后确认于
- 2023/10/23 19:29 2 年前
CPP
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 2e5 + 10;
int a[N];
int n, target;
int main()
{
cin >> n >> target;
for (int i=1; i <= n; i ++)
cin >> a[i];
int cnt=0;
for (int i=1; i <= n; i ++)
{
int sum = target + a[i];
//在序列a中二分查找该元素!
int l = 1, r = n;
while (l < r)
{
int mid = l + r >> 1;
if (a[mid] >= sum) r = mid;
else l = mid + 1;
}
if (a[r] == sum) cnt ++;
}
cout << cnt << endl;
return 0;
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...