问题描述
给定 个不同的整数,问这些数中有多少对整数,它们的值正好相差 。
输入格式
输入的第一行包含一个整数 ,表示给定整数的个数。
第二行包含所给定的 个整数。
输出格式
输出一个整数,表示值正好相差 的数对的个数。
样例输入
6
10 2 6 3 7 8
样例输出
3
样例说明
值正好相差的数对包括 。
评测用例规模与约定
,给定的整数为不超过 的非负整数。
#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int main(){
int n,t,ans=0;
cin >> n;
for (int i = 0; i < n; i++) {
scanf("%d", &t);
v.emplace_back(t);
}
sort(v.begin(), v.end());
/*for (int i = 0; i < n-1;++i){
if(v[i]+1==v[i+1])
++ans;
}*/
t=v[0];
for(auto& i:v){//快3倍
if(i==t+1)
++ans;
t=i;
}
printf("%d", ans);
return 0;
}