第三个测试点WA
  • 板块P1102 A-B 数对
  • 楼主Ayaka_Li
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/6/17 18:56
  • 上次更新2023/10/27 23:09:18
查看原帖
第三个测试点WA
657499
Ayaka_Li楼主2022/6/17 18:56
#include <iostream>
#include <algorithm>
using namespace std;
int n,c,a[10001],ans;
int Find1(int x)
{
	int l=0,r=n+1;				
	while(l+1<r)			
    {			
        int mid=(l+r)/2;		
        if(a[mid]<=x)l=mid;		
        else r=mid;		
    }			
    return l;			
}
int Find2(int x)
{
	int l=0,r=n+1;				
    while(l+1<r)			
    {			
        int mid=(l+r)/2;		
        if(a[mid]<x)l=mid;		
        else r=mid;		
    }			
    return l;			
}
int main() {
	cin>>n>>c;
	for (int i=1;i<=n;i++) 
		cin>>a[i];
	sort (a+1,a+1+n);
	for (int i=1;i<=n;i++) 
		ans += Find1(a[i]+c) - Find2(a[i]+c);
	cout<<ans;
	return 0;
}
2022/6/17 18:56
加载中...