数数(count)
【题目描述】
乐乐的弟弟最近学会了数自然数,可是由于学艺不精经常会漏数一些数。乐乐想快速的知
道弟弟第一个漏数的数是哪一个。
【输入格式】
第一行一个数 n 表示弟弟一共数的数的个数
第二行 n 个自然数表示弟弟数的每个数
N<=100000
【输出格式】
一行输出弟弟漏数的数
【样例输入】
3
1 2 3
【样例输出】
0
【子任务】
对于 30%的数据 n<=100
对于 60%的数据 n<=1000
解析:
这题很神奇,数数会乱数可能0 4 2 3 1 这样,知道这点就没事了!
#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
#define MAXN 200005
int n,ans = -1;
int a[MAXN];
int main()
{
freopen("count.in","r",stdin);
freopen("count.out","w",stdout);
scanf("%d",&n);
a[0] = -1;
for(int i = 1; i <= n; i ++)
{
scanf("%d",&a[i]);
}
sort(a,a+n+1);
//cout<<a[0]<<" "<<a[1]<<endl;
for(int i = 0; i <= n; i ++)
if(a[i] != a[i+1] &&(a[i]+1 != a[i+1]) && (a[i]+1 >= 0 ))
{
printf("%d ",a[i]+1);
return 0;
}
cout<<a[n] + 1;
return 0;
}
/*
*/
浙公网安备 33010602011771号