本题关键在于美味值最高的选手的个数的奇偶性。

对于美味值不是最大的选手x来说,可以让最大的选手不断淘汰其他选手,最终留下x及最大的选手,若最大选手个数是偶数,则可让最大选手淘汰,x留下,输出1。若最大选手个数是奇数,则x被淘汰,输出0;

对于美味值最大的选手y来说,若最大选手个数是偶数,则输出0,若最大选手个数是奇数,则输出1。

下面是代码:

#include<bits/stdc++.h>
#define int long long
int a[200005];
using namespace std;
signed main(){
	int T;
	cin>>T;
	while(T--){
		int n,mx=0,cnt=0;
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			if(a[i]>mx)mx=a[i];
		}
		for(int i=1;i<=n;i++){
			if(a[i]==mx)cnt++;
		}
		for(int i=1;i<=n;i++){
			if(a[i]!=mx){
				if(cnt%2==0)cout<<"1";
				else cout<<"0";
			}
			else if(a[i]==mx){
				if(cnt%2==0)cout<<"0";
				else cout<<"1";
			}
		}
		cout<<endl;
	}
}