#3没过,已开long long,(cpp)
  • 板块P1102 A-B 数对
  • 楼主LOVEZMD
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/3/5 10:35
  • 上次更新2023/10/23 23:00:57
查看原帖
#3没过,已开long long,(cpp)
830318
LOVEZMD楼主2023/3/5 10:35
#include<iostream>
#include<algorithm>
using namespace std;
long long N,C,ans=0;
long long A[200001]={0},BC[200001]={0};
int main(){
	cin>>N>>C;
	for(int i=0;i<N;i++){
		cin>>A[i];
		BC[i]=A[i]+C;
	}
	sort(A,A+N);
	sort(BC,BC+N);
	long long indexa=1,indexbc=0;
	while(indexa<N){
		if(BC[indexbc]==A[indexa]){
			int samea=1,samebc=1;
			while(A[indexa]==A[++indexa]) samea++;
			while(BC[indexbc]==BC[++indexbc]) samebc++;
			ans+=samea*samebc; 
		}
		if(BC[indexbc]>A[indexa]) indexa++;
		if(BC[indexbc]<A[indexa]) indexbc++;
	}
	cout<<ans;
	return 0;
}
2023/3/5 10:35
加载中...