8分求助
  • 板块P1102 A-B 数对
  • 楼主pppzz
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/9/4 15:50
  • 上次更新2023/10/27 12:34:56
查看原帖
8分求助
719357
pppzz楼主2022/9/4 15:50
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;

int main() {
	ll n, c;
	cin >> n >> c;
	ll ans = 0;
	vector<ll>nums(n);
	for (int i = 0; i < n; i++)cin >> nums[i];
	vector<ll>t(n);
	for (int i = 0; i < n; i++)t[i] = nums[i] + c;
	sort(nums.begin(), nums.end());
	for (int i = 0; i < n; i++) {
		ll l = 0, r = n - 1;
		while (l < r) {
			ll mid = (l + r) >> 1;
			if (nums[mid] < t[i])l = mid + 1;
			else r = mid;
		}
		if (nums[l] == t[i])ans++;
	}
	cout << ans;
	return 0;
}
2022/9/4 15:50
加载中...