题目
4
10 13 12 8
Output
2
Input
5
7 5 6 4 8
Output
0
题意:商店键盘按升序排序,被偷之后还剩下n个键盘,问至少被偷了多少键盘
思路:找出最大数和最小数,减去中间出现过的数即可
AC code
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
#include<sstream>
#include<stack>
#include<queue>
using namespace std;
map<long long int,int>mp;
int main()
{
long long int n,x;
mp.clear();
cin>>n;
long long int maxx=0,minn=12000000000,s=0;
for(int i=0;i<n;i++)
{
cin>>x;
if(mp[x]==0)
{
s++;
mp[x]=1;
}
minn=min(x,minn);
maxx=max(x,maxx);
}
long long int y=maxx-minn+1;
y-=s;
printf("%lld\n",y);
}