#L4754. 「POI 2024/2025 R1」Sprawiedliwy podział

    ID: 4654 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>贪心其他排序公平分配组合优化启发式算法

「POI 2024/2025 R1」Sprawiedliwy podział


题目描述

Bajtyna 和 Bitek 需要分配他们拥有的 nn 件物品。对于每件物品,我们知道其对 Bajtyna 和 Bitek 的价值;这两个价值可以相同,也可以不同。我们希望将每件物品分配给其中一人,且没有人对另一人感到嫉妒,具体定义如下。

如果 Bitek 分到的所有物品对 Bitek 的总价值严格小于 Bajtyna 分到的所有物品对 Bitek 的总价值减去其中任意一个(特别地,价值最小的一个),则 Bitek 会嫉妒 Bajtyna。例如,考虑四件物品,对 Bitek 的价值分别为 4,3,4,84, 3, 4, 8。如果将前两个物品分配给 Bitek,Bitek 会嫉妒 Bajtyna,因为 4+3<84+3 < 8。如果将最后一个物品分配给 Bitek,他不会嫉妒 Bajtyna,因为 84+48 \geq 4+4

类似地,我们定义 Bajtyna 何时会嫉妒 Bitek,对于这种情况我们计算的是 Bajtyna 分到的所有物品的总价值。

请将所有物品分配给 Bajtyna 和 Bitek,使得没有人会嫉妒对方。


输入格式

输入的第一行包含一个整数 nn (1n5105)(1 \leq n \leq 5\cdot 10^5),表示物品的数量。第二行包含 nn 个整数 a1,a2,,ana_{1}, a_{2}, \ldots, a_{n} (1ai109)(1 \leq a_{i} \leq 10^9),表示每件物品对 Bajtyna 的价值。第三行包含 nn 个整数 b1,b2,,bnb_{1}, b_{2}, \ldots, b_{n} (1bi109)(1 \leq b_{i} \leq 10^9),表示每件物品对 Bitek 的价值。


输出格式

在输出的第一行中,输出 nn 个用空格分隔的整数,描述满足条件的物品分配方案。第 ii 个数字应为 00,表示第 ii 件物品分配给 Bajtyna,或为 11,表示分配给 Bitek。可以假设总存在满足题目要求的分配方案。


样例 1

输入

4
10 5 9 6
4 6 8 4

输出

1 0 0 1

解释
将第二和第三件物品分配给 Bajtyna,其他分配给 Bitek。Bajtyna 不会嫉妒 Bitek,因为 5+9105+9 \geq 105+965+9 \geq 6。Bitek 不会嫉妒 Bajtyna,因为 4+464+4 \geq 64+484+4 \geq 8


样例 2

见附加文件下 spr1ocen.inspr1ocen.out

该样例满足 n=6n=6, ai=7ia_{i}=7-i, bi=ib_{i}=i;答案为 0,0,0,1,1,10,0,0,1,1,1


样例 3

见附加文件下 spr2ocen.inspr2ocen.out

该样例满足 n=12n=12, ai=1a_{i}=1, bi=2b_{i}=2;答案为 1,1,1,1,1,1,0,0,0,0,0,01,1,1,1,1,1,0,0,0,0,0,0


样例 4

见附加文件下 spr3ocen.inspr3ocen.out

该样例满足 n=5105n=5\cdot 10^5, ai=bi=109a_{i}=b_{i}=10^9;答案为 0,1,0,1,0,1,0,1,0,1,0,1, \ldots


数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
1 n10n \leq 10 9
2 n20n \leq 20 10
3 每个 ii 满足 ai=bia_{i}=b_{i} 40
4 n1000n \leq 1000 15
5 无附加限制 26