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;
}
相关推荐
sheeta19982 分钟前
LeetCode 每日一题笔记 日期:2025.04.06 题目:874. 模拟行走机器人
笔记·leetcode·机器人
XiYang-DING7 分钟前
【LeetCode】232. 用栈实现队列
算法·leetcode·职场和发展
峥嵘life7 分钟前
Android 无线投屏相关知识介绍
android·学习
人道领域8 分钟前
【LeetCode刷题日记】142.环形链表Ⅱ
算法·leetcode·链表
oi..11 分钟前
Linux入门(2)
linux·笔记·测试工具·安全·网络安全
那我懂你的意思啦12 分钟前
微服务学习+商城
学习·微服务·架构
AI_零食15 分钟前
Flutter 框架跨平台鸿蒙开发 - 鸿蒙版本跳棋游戏应用
学习·flutter·游戏·华为·交互·harmonyos
2301_8227032016 分钟前
开源鸿蒙跨平台Flutter开发:基因序列比对基础:Needleman-Wunsch 算法的 Dart 实现
算法·flutter·开源·鸿蒙
Book思议-17 分钟前
【数据结构】「树」专题:树、森林与二叉树遍历之间的关系+408真题
数据结构·算法·二叉树··森林
yangyanping2010819 分钟前
Go语言学习之Go Gin 生产级 flag 启动命令模板
开发语言·学习·golang