n是1e3,也就是可以用的算法,这里排个序,用两个for循环遍历一下即可,因为排过序,每次都是遍历两个相邻元素,因此时间复杂度是
#include<bits/stdc++.h>
using namespace std;
int n,cnt;
const int N = 1e3 + 10;
int a[N];
int main()
{
cin >> n;
for (int i = 0; i < n; i++)cin >> a[i];
sort(a, a + n);
for (int i = 0; i < n-1; i++)
{
for (int j=i+1;j<n;j++)
{
if (a[j] - a[i] == 1)
{
cnt++;
i++;
}
}
}
cout << cnt;
return 0;
}