给定 n 个自然数,求没有在这 n 个自然数中出现过的最小的自然数是多少。
注意,0 也是自然数。
输入格式
第一行输入一个正整数 n。
第二行输入给定的 n 个自然数,相邻两个自然数之间用一个空格隔开。
输出格式
输出只有一行,一个自然数,表示没有在输入的 n 个自然数中出现过的最小的自然数。
数据范围
1≤n≤1000,
输入的 n 个自然数都不大于 1000。
#include<bits/stdc++.h>
using namespace std;
int num,a[1001];
set <int> s;
set <int>::iterator it;
int main(){
int n,top=0;
cin>>n;
for(int i=1;i<=n;i++) cin>>num,s.insert(num);
for(it=s.begin();it!=s.end();it++) a[top++]=*it;
for(int i=0;i<=n;i++){
if(a[i]!=i){ //若没出现,则输出,并结束程序
cout<<i<<endl;
return 0;
}
}
return 0;
}