luogu#P11399. [Code+#8 初赛] 集合划分

[Code+#8 初赛] 集合划分

题目背景

搬运自 Code+ #8 初赛

题目描述

小 B、小 Y 和小 Z 是形影不离的好朋友,同时也是坚定的 xx 主义者。

这天,他们得到了 nn 块蛋糕,第 ii 块重量是 aia_i。 蛋糕不能切开,只能整块地分给某一个人;蛋糕更不能浪费,即每块蛋糕都应归于三个人中的一个。

他们都具有大公无私的奉献精神,因此毫不在意自己分到的蛋糕重量比其他人小;但本着“主义高于友谊”的原则,他们必须保证任何两个人分到的蛋糕重量之和都严格大于第三个人,否则分到重量最小的两个人就会联合起来把旧世界打个落花流水。

由于生产力过度发达,蛋糕的数量和重量都已经远远超出他们的人脑计算能力,于是他们前来请教掌握计算机技术的你,希望你能为他们给出一组合理的分配方案,或确定该方案不存在。

输入格式

输入共包含两行。

第一行输入一个正整数 nn

第二行输入 nn 个正整数 a1,a2,,ana_1,a_2,…,a_n

输出格式

若不存在合法的分配方案,输出 Internationale!

若存在,则输出一个长度为 nn 的字符串,每个字符均为 BYZ 中的一个,第 ii 个字符代表第 ii 块蛋糕的归属。

若有多组合法方案,给出任意一组即可。

6
7 5 4 1 2 8
ZYBZYB
5
1 2 6 1 1
Internationale!

提示

本题采用子任务评测。你必须通过一个子任务内的全部测试点,才能获得对应的分数。

对于全部数据,3n2×105, 1ai1093\le n\le 2\times 10^5,\ 1\le a_i\le 10^9

子任务 111010 分):保证 n=3n=3

子任务 221616 分):保证 n16n\le 16

子任务 331616 分):保证 n103,ainn\le 10^3,a_i\le n

子任务 442828 分):保证存在合法解。

子任务 553030 分):无特殊限制。