相邻数对

问题描述

给定 nn 个不同的整数,问这些数中有多少对整数,它们的值正好相差 11

输入格式

输入的第一行包含一个整数 nn,表示给定整数的个数。
第二行包含所给定的 nn 个整数。

输出格式

输出一个整数,表示值正好相差 11 的数对的个数。

样例输入

6
10 2 6 3 7 8

样例输出

3

样例说明

值正好相差11的数对包括 (2,3),(6,7),(7,8)(2, 3), (6, 7), (7, 8)

评测用例规模与约定

1n10001\le n\le 1000,给定的整数为不超过 1000010000 的非负整数。

#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;
}