原題連結
題解
如果一個數的存量大於1,那麼alice可以不著急去拿,只要在bob拿之後再拿就可以了,所以alice要先去拿存量少(==1)的數且儘可能先拿小的
所以可以從0開始遍歷直到遇到數字的存量等於零或者第二次遇到存量為一的數
code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
ll n;
cin>>n;
map<ll,ll> rec;
for(ll i=1;i<=n;i++)
{
ll x;
cin>>x;
rec[x]++;
}
int occur=0,ans=0;
while(1)
{
if(rec[ans]==0) break;
if(rec[ans]==1) occur++;
if(occur==2) break;
ans++;
}
cout<<ans<<endl;
}
return 0;
}