28| A-B数对

代码实现

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

#define int long long
const int N = 2e5 + 10; 
unordered_map <int, int> a;
int cnt, n, c, b[N];

signed main()
{
	cin >>  n >> c;
	for (int i = 1; i <= n; i++) 
	{
		cin >> b[i];
		a[b[i]]++;
	}
	for (int i = 1; i <= n; i++)
	{
		cnt += a[b[i] + c];
	}
	cout << cnt << endl;
	return 0;
}
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

typedef long long LL;
const int N = 2e5 + 10; 
LL cnt, n, c, b[N];

int main()
{
	cin >>  n >> c;
	for (int i = 1; i <= n; i++) cin >> b[i];
	// 预处理 有序 
	sort(b+1, b+n+1);
	for (int i = 1; i <= n; i++)
	{
		LL x = b[i] + c;
		auto l = lower_bound(b + 1, b + n + 1, x);
		auto r = upper_bound(b + 1, b + n + 1, x); 
		cnt += (r - l);
	}
	cout << cnt << endl;
	return 0;
}
相关推荐
·薯条大王15 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
To_OC16 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
白狐_79816 小时前
408数据结构第5章:二叉树遍历序列题——技巧、判断与真题型总结
数据结构
Forever Nore19 小时前
学完C语言力扣第一题做不来正常吗
数据结构·算法
hansang_IR20 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集
东东最爱敲键盘20 小时前
day7.c++继承
c++
今儿敲了吗20 小时前
CO——CPU
笔记
今儿敲了吗20 小时前
Python ——第三方包
笔记·python
圆奋奋20 小时前
FreeRTOS学习(三)- 任务调度模块
学习·开源·freertos