挺水的,简单到刚读完题还以为自己理解错了题意,,
不用map最后一个点会报段错误
注意都是负数的时候输出的是1,不是0
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
#include <cmath>
#include <map>
#include <set>
using namespace std;
int m;
map<int,int> arr;
vector<int> ans;
int main(){
cin >> m;
for(int i=0; i<m; i++){
int n;
cin >> n;
if(n>=0) {
ans.push_back(n);
arr[n] = 1;
}
}
sort(ans.begin(),ans.end());
if(ans.size()==0){
cout << "1" << endl;
return 0;
}
for(int i=ans[0]; ;i++){
if(arr[i+1] == 0) {
cout << i+1 << endl;
break;
}
}
return 0;
}