您的位置:首页 > 其它

201409-1 相邻数对 ccf

2017-11-19 12:54 211 查看
问题描述

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

输入格式

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

  第二行包含所给定的n个整数。

输出格式

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

样例输入

6

10 2 6 3 7 8

样例输出

3

样例说明

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

评测用例规模与约定

  1<=n<=1000,给定的整数为不超过10000的非负整数。

#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<int> v;
int n,x;
cin>>n;
while(n--)
{
cin>>x;
v.push_back(x);
}
sort(v.begin(),v.end());
size_t i=0,cnt=0;
while(i<v.size()-1)
{
while(i<v.size()-1&&v[i+1]-v[i]==1)
{
++i;++cnt;
}
++i;
}
cout<<cnt;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: