92分求!!!第3个WA!!!
  • 板块P1102 A-B 数对
  • 楼主Enmin
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/3 13:22
  • 上次更新2024/7/3 16:09:17
查看原帖
92分求!!!第3个WA!!!
772899
Enmin楼主2024/7/3 13:22
#include <bits/stdc++.h>

using namespace std;
int n,c,a[200100],ans=0,dd=0;
int admin(int x) {
	int L=0,l=0,R=n+1,r=n+1;
	while(l+1<r) {
		int j=(l+r)/2;
		if(a[j]>=x) {
			r=j;
		}else {
			l=j;
		}
	}
	while(L+1<R) {
		int j=(L+R)/2;
		if(a[j]>x) {
			R=j;
		}else {
			L=j;
		}
	}
	dd=L-l;
	return L-l; 
}
int main() {
	scanf("%d%d",&n,&c);
	for(int i=1;i<=n;i++) {
		scanf("%d",&a[i]);
	}
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++) {
		int k=a[i]-c;
		if(a[i]==a[i-1]) {
			ans+=dd;
			continue;
		}
		ans+=admin(k);
	}
	printf("%d\n",ans);
	return 0;
}
2024/7/3 13:22
加载中...