#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n,a[N+9],q;
set <int> st;
int t[1000005];
int main() {
cin>>n>>q;
for(int i=1;i<=n;i++) {
cin>>a[i];
t[a[i]]++;
}
for(int i=0;i<=n*2;i++) {
if(t[i]!=0)
continue;
st.insert(i);
}
while(q--) {
int i,x;
cin>>i>>x;
t[a[i]]--;
if(t[a[i]]==0)
st.insert(a[i]);
a[i]=x;
if(t[a[i]]==0)
st.erase(a[i]);
t[a[i]]++;
cout<<*st.begin()<<endl;
}
return 0;
}
```cpp
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n,a[N+9],q;
set <int> st;
int t[1000005];
int main() {
cin>>n>>q;
for(int i=1;i<=n;i++) {
cin>>a[i];
t[a[i]]++;
}
for(int i=0;i<=n*2;i++) {
if(t[i]!=0)
continue;
st.insert(i);
}
while(q--) {
int i,x;
cin>>i>>x;
t[a[i]]--;
if(t[a[i]]==0)
st.insert(a[i]);
a[i]=x;
if(t[a[i]]==0)
st.erase(a[i]);
t[a[i]]++;
cout<<*st.begin()<<endl;
}
return 0;
}