二叉树666

导航

 

数数(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;
}
/* 
*/

posted on 2017-10-08 15:48  江入网络流  阅读(85)  评论(0)    收藏  举报