#include<bits/stdc++.h>
using namespace std;
#define maxn 100010
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("in.txt","r",stdin);
#endif
int n,temp;
cin>>n;
//int a[maxn]={};
map<int,int> a;
for(int i=0;i<n;i++){
cin>>temp;
a[temp]++;
}
int j;
for(j=1;j<=n;j++){
if(a[j]==0){
break;
}
}
cout<<j<<endl;
return 0;
}
为什么用map就可以,用数组就会有一个运行时错误?