社区讨论
76分求助,使用了lowerupperbound,#2-4RE
P1102A-B 数对参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo16vtib
- 此快照首次捕获于
- 2023/10/22 16:10 2 年前
- 此快照最后确认于
- 2023/11/02 15:47 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
const int N = 20005 ;
long long n,c ;
long long i,j ;
long long ans ;
long long num[N] ;
int main()
{
scanf("%d%d",&n,&c) ;
for (int i1=1 ;i1<=n ;++i1)
{
scanf("%d",&num[i1]) ;
}
sort(num+1,num+1+n) ;
for (int k=1 ;k<=n ;++k)
{
if (num[k] != num[k-1])
{
i=lower_bound(num+1,num+1+n,num[k]+c) - num ;
j=upper_bound(num+1,num+1+n,num[k]+c) - num ;
if (i == n+1) break ;
}
ans += j-i ;
}
printf("%lld",ans) ;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...