#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
int t,n,k;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&k);
int mex=0,maxn=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
int ans;
if(k==0)
{
ans=n;
}else
{
int flag=0;
for(int i=0;i<n;i++)
{
if(a[i]!=i)
{
mex=i;
flag=1;
break;
}
}
if(flag==0)
{
mex=n;
}
int x;
maxn=a[n-1];
if(mex<maxn)
{
if((mex+maxn)%2==1)
{
x=(mex+maxn)/2+1;
}
else
{
x=(mex+maxn)/2;
}
int temp=0;
for(int i=0;i<n;i++)
{
if(a[i]==x)
{
ans=n;
temp=1;
break;
}
}
if(temp==0)
{
ans=n+1;
}
}else
{
ans=n+k;
}
}printf("%d\n",ans);
}
}
1178D - Prime Graph | 1711D - Rain |
534A - Exam | 1472A - Cards for Friends |
315A - Sereja and Bottles | 1697C - awoo's Favorite Problem |
165A - Supercentral Point | 1493A - Anti-knapsack |
1493B - Planet Lapituletti | 747B - Mammoth's Genome Decoding |
1591C - Minimize Distance | 1182B - Plus from Picture |
1674B - Dictionary | 1426C - Increase and Copy |
520C - DNA Alignment | 767A - Snacktower |
1365A - Matrix Game | 714B - Filya and Homework |
31A - Worms Evolution | 1691A - Beat The Odds |
433B - Kuriyama Mirai's Stones | 892A - Greed |
32A - Reconnaissance | 1236D - Alice and the Doll |
1207B - Square Filling | 1676D - X-Sum |
1679A - AvtoBus | 1549A - Gregor and Cryptography |
918C - The Monster | 4B - Before an Exam |