#P2560. Two Sets

    ID: 2560 传统题 1000ms 256MiB 尝试: 4 已通过: 1 难度: 10 上传者: 标签>数据结构并查集基础算法贪心CodeForces

Two Sets

题目描述

给出 nn 个各不相同的数字,将它们分别放入 AABB 两个集合中,使它们满足:

  • 若数字 xx 在集合 AA 中,那么数字 axa-x 也在集合 AA 中;
  • 若数字 xx 在集合 BB 中,那么数字 bxb-x 也在集合 BB 中。

输入格式

输入的第一行输入三个整数 $n,a,b (1 \leq n \leq 10^{5} ; 1 \leq a,b \leq 10^{9} )$。

输入的第二行有 nn 个各不相同的正整数,且每个正整数的数值大小都在 [1,109][1,10^{9}] 内。

输出格式

若不能能将这 nn 个数在满足条件的情况下全部放入 AABB 这两个集合中,则输出 NO

若这 nn 个数在满足条件的情况下能被全部放入 AABB 这两个集合中,则第一行输出 YES,第二行输出 nn 个数 0011,第 ii 个数为 00 表示第 ii 个数在集合 AA 中,第 ii 个数为 11 表示第 ii 个数在集合 BB 中。

4 5 9
2 3 4 5
YES
0 0 1 1
3 3 4
1 2 4
NO