map容器排序及去重 O(n)
#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>
using namespace std;
int main()
{
int n,num,i,tt=0,p,q;
cin>>n;
map<int,int> mp;
while(n--){
while(cin>>num)mp[num]++;
}
for(auto it:mp){
if(!tt){
i=it.first;
if(it.second>1)q=i;
}else{
if(it.first>i){p=i;i++;}
if(it.second>1)q=it.first;
}
tt++;
i++;
}
cout<<p<<' '<<q<<endl;
return 0;
}