84pts 求助
查看原帖
84pts 求助
755503
LiJinLin_AFO楼主2023/8/13 20:37

#2:TLE

#3:WA

#include<stdio.h>
#include<algorithm>
using namespace std;
long long a[2000005];
int ans,n;
int sum(long long num){
    int aaa=0;
    for(int i=1;i<=n;i++) if(a[i]==num) aaa++;
    return aaa;
}
int main(){
	long long c;
	scanf("%d%lld",&n,&c);
	for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
	sort(a+1,a+1+n);
	int l=1,r=1;
	while(l<n&&r<=n){
		if(a[r]-a[l]<c) r++;
		else if(a[r]-a[l]>c) l++;
		else ans+=sum(a[l])*sum(a[r]),l+=sum(a[l]),r+=sum(a[r]);
	}
	printf("%d",ans);
	return 0;
}
2023/8/13 20:37
加载中...