网站首页 > 技术教程 正文
学习C++从娃娃抓起!记录下洛谷C++学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:洛谷刷题C++语言 | 汇总_热爱编程的通信人的博客-CSDN博客
【题目描述】
给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A?B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。
【输入】
输入共两行。
第一行,两个正整数 N,C。
第二行,N 个正整数,作为要求处理的那串数。
【输出】
一行,表示该串正整数中包含的满足 A?B=C 的数对的个数。
【输入样例】
4 1
1 1 2 3
【输出样例】
3
【代码详解】
#include <bits/stdc++.h>
using namespace std;
int n, c, a[200005], sum;
long long ans=0;
int findleft(int q) // 二分查左值
{
int l=1, r=n+1;
while (l<r) {
int mid = l + (r-l)/2;
if (a[mid]>=q) r = mid;
else l = mid+1;
}
if (a[l]==q) {
return l;
} else return 0;
}
int findright(int q) // 二分查右值
{
int l=1, r=n+1;
while (l<r) {
int mid = l + (r-l)/2;
if (a[mid]<=q) l = mid+1;
else r = mid;
}
if (a[l-1]==q) {
return l-1;
} else return 0;
}
int main()
{
cin >> n >> c;
for (int i=1; i<=n; i++) {
cin >> a[i];
}
sort(a+1, a+n+1);
for (int i=1; i<=n; i++) {
//枚举B,使用二分查找满足a[j]==a[i]+c
int q = a[i]+c;
if (findleft(q)==0 && findright(q)==0) sum=0;
else sum = findright(q) - findleft(q) + 1;
ans += sum;
}
cout << ans << endl;
return 0;
}
【运行结果】
4 1
1 1 2 3
3
猜你喜欢
- 2024-10-05 七律 巴夫洛谷的春天 巴夫洛logo
- 2024-10-05 「洛谷日报第31期」dijkstra详解 dijkstra floyd
- 2024-10-05 「洛谷日报第27期」点分治略解 点分什么意思
- 2024-10-05 洛谷刷题C++语言 | P1010 幂次方 c++次幂怎么输入
- 2024-10-05 洛谷刷题C++语言 | P1036 选数 洛谷p5714答案c语言
- 2024-10-05 洛谷刷题C++语言 | P1012 拼数 洛谷p5714答案c语言
- 2024-10-05 洛谷刷题C++语言 | P3392 涂国旗 c语言画国旗代码
- 2024-10-05 「洛谷日报第20期」浅谈基础根号算法——分块
- 2024-10-05 洛谷刷题C++语言 | P1443 马的遍历
- 2024-10-05 「洛谷日报第87期」浅谈并查集优化
你 发表评论:
欢迎- 05-1613步震撼淘宝大促闪光裂纹破墙立体字PS制作教程
- 05-16AI教程 | 绘制扁平的萌萌哒图标
- 05-160基础学平面设计所需了解的基础常识汇总
- 05-16自学平面设计需要多长时间?十六年职业设计总监告诉你
- 05-16平面设计都要学习哪些内容?
- 05-16李涛PS教程 高手之路PS教程 合成教程 —制作一个小星球
- 05-16Illustrator实例教程:制作炫酷的漩涡效果
- 05-16Illustrator实例教程:利用混合工具制作一朵炫酷的花
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)