球球大作战
题号:NC248199
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

注:在本题中,我们会做一些与游戏本身不完全相同的设定,玩过游戏与否对理解题目没有影响。

小橙汁和朋友们正在玩《球球大作战》,在这个游戏中有 n 个玩家,每个玩家将操作一个球,且初始时第 i 个玩家的球的大小为 a_i

n 个玩家之间将进行 n-1 次碰撞,每次碰撞发生在两个未淘汰的玩家之间:

1. 玩家 A 的球大小为 a_1,玩家 B 的球大小为 a_2
2. 若玩家 A 的球的大小大于玩家 B 的球的大小,则玩家 B 被淘汰, 且玩家 A 的球的大小变为 。反之亦然。
3. 若两名玩家的球的大小相同,游戏系统将随机判定其中一名玩家被淘汰,另一名玩家的球的大小保持不变。

这样,最终仅剩余一名玩家未淘汰,成为胜利者。

对于每个玩家 ,询问是否存在一种碰撞顺序,使得该名玩家可以成为最终的胜利者。

输入描述:

第一行输入一个正整数 ,表示玩家的数量。

第二行输入 n 个正整数,第 i 个正整数 表示初始化时第 i 个玩家的球的大小。

输出描述:

输出一个长度为 n 的仅有 '0' 和 '1' 组成的字符串,字符串的第 i 位为 1 当且仅当存在一种碰撞顺序,使得第 i 名玩家可以成为最终的胜利者。
示例1

输入

复制
3
5 7 6

输出

复制
011

说明

如下安排碰撞顺序,玩家 2 可取胜:
第一轮,玩家 2 与玩家 3 碰撞,玩家 2 更大而胜出,大小变为 \lfloor\frac{7+6}{2}\rfloor=6
第二轮,玩家 2 与玩家 1 碰撞,玩家 2 更大而胜出,大小变为 \lfloor\frac{6+5}{2}\rfloor=5

如下安排碰撞顺序,玩家 3 可取胜:
第一轮,玩家 1 与玩家 2 碰撞,玩家 2 更大胜出,大小变为 \lfloor\frac{7+5}{2}\rfloor=6
第二轮,玩家 2 与玩家 3 碰撞,玩家 2 和玩家 3 等大小,玩家 3 有机会胜出,大小保持不变。

无论如何安排碰撞顺序,玩家 1 都无法胜出。
示例2

输入

复制
10
729 9 81 19683 1 2187 3 27 243 6561

输出

复制
1001010011