记录编号 |
32911 |
评测结果 |
AAAAAAAAAA |
题目名称 |
数对的个数 |
最终得分 |
100 |
用户昵称 |
kaaala |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.043 s |
提交时间 |
2011-11-08 19:48:51 |
内存使用 |
1.07 MiB |
显示代码纯文本
#include<iostream>
#include<fstream>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;
int n,c,num[200002],ans;
int main()
{
int i,j,l1,l2;
ifstream fin("dec.in");
ofstream fout("dec.out");
fin>>n>>c;
for(i=1;i<=n;i++)
fin>>num[i];
sort(num+1,num+1+n);
j=1;
i=2;
while(i<=n)
{
if(num[i]-num[j]==c)
{
l1=l2=1;
while(i+1<=n&&num[i]==num[i+1])
{
l1++;
i++;
}
while(j+1<=n&&num[j]==num[j+1])
{
l2++;
j++;
}
ans+=l1*l2;
i++;
}
else
if(num[i]-num[j]<c)
i++;
else
j++;
}
fout<<ans<<endl;
fin.close();
fout.close();
return 0;
}