RT
基本思路:每次看当前能不能读到第 x 号书,有就读,不行把剩下的两个编号最大的卖掉
#pragma GCC optimize(3)
#include<iostream>
#include<algorithm>
#include<cmath>
#include<memory.h>
#include<vector>
#include<queue>
#include<stack>
#include<cstdlib>
#define int long long
#define mod 998244353
using namespace std;
int n,in,x=0;
int arr[300005];
deque<int> q;
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>arr[i];
}
sort(arr+1,arr+n+1,less<int>());
for(int i=1;i<=n;i++){
q.push_back(arr[i]);
}
while(1){
if(q.empty()){
cout<<x<<endl;
return 0;
}
if(q.front()!=x+1){
if(q.size()<2){
cout<<x<<endl;
return 0;
}else{
q.pop_back();
q.pop_back();
}
}else{
q.pop_front();
}
x++;
}
return 0;
}