rt
#include<bits/stdc++.h>
using namespace std;
const int N=3e5+1;
int s[N],n,len;
map<int,bool> f;
bool cmp(int a,int b){return a<b;}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
int x;
scanf("%d",&x);
if(!f[x]) s[++len]=x,f[x]=true;
}
int i=0,p=1;
while(true){
if(p<=min(n,len) && s[p]!=i+1){
n-=(s[p]-(i+1))*2;
if(n<i){
printf("%d",i);
return 0;
}
n++,i=s[p]-1;
}
else if(p>min(n,len)){
n-=2;
if(n<i){
printf("%d",i);
return 0;
}
n++;
}
i++,p++;
}
return 0;
}