记录编号 74503 评测结果 AAAAAAAAAAA
题目名称 数对的个数 最终得分 100
用户昵称 GravatarNARUTO 是否通过 通过
代码语言 C++ 运行时间 0.073 s
提交时间 2013-10-25 19:00:40 内存使用 1.08 MiB
显示代码纯文本
#include<fstream>
#include<cstring>
#include<algorithm>
using namespace std;
ifstream fi("dec.in");
ofstream fo("dec.out");
int N,C,f[200010],ans;
int main()
{
	memset(f,0,sizeof(f));
	fi>>N>>C;
	int a,b,i;
	for(i=1;i<=N;i++)fi>>f[i];
	sort(f+1,f+N+1);
	int A,B;
	A=1;ans=0;B=1;
	while(A<=N&&B<=N)
	{
		if(f[B]-f[A]==C)
		{
			a=1;b=1;
			while(A<N&&f[A]==f[A+1])
			{
				a++;
				A++;
			}
			while(A<N&&f[B]==f[B+1])
			{
				b++;
				B++;
			}
			ans+=a*b;
			A++;B++;
			continue;
		}
		if(f[B]-f[A]<C){B++;continue;}
		if(f[B]-f[A]>C){A++;continue;}
	}
	fo<<ans<<endl;
	return 0;
}