#ATarc128a. [ARC128A] Gold and Silver

[ARC128A] Gold and Silver

题目描述

すぬけくん现在拥有 11 克黄金和 00 克白银。他将在接下来的 NN 天内进行黄金与白银的交易。每天,他可以选择“什么都不做”或“进行交换”这两种操作中的一种。在第 ii 天(1iN1 \leq i \leq N)进行交换时,会发生以下情况:

  • 如果交换前他持有 xx 克黄金,则他会将所有黄金全部兑换成白银,获得 x×Aix \times A_i 克白银。反之,如果他持有 xx 克白银,则会将所有白银全部兑换成黄金,获得 x/Aix / A_i 克黄金。

すぬけくん的目标是最终持有的黄金数量最大。请你求出一种能实现他目标的操作方案。

输入格式

输入以如下格式从标准输入读入:

NN A1A_1 A2A_2 \cdots ANA_N

输出格式

请按如下格式输出答案:

v1v_1 v2v_2 \cdots vNv_N

其中 viv_i 是第 ii 天的操作,0vi10 \leq v_i \leq 1vi=0v_i=0 表示什么都不做,vi=1v_i=1 表示进行交换。如果存在多种方案,只需输出其中一种即可。

样例 1

输入

3
3 5 2

输出

0 1 1

样例 2

输入

4
1 1 1 1

输出

0 0 0 0

样例 3

输入

10
426877385 186049196 624834740 836880476 19698398 709113743 436942115 436942115 436942115 503843678

输出

1 1 0 1 1 1 1 0 0 0

说明/提示

限制条件

  • 2N2000002 \leq N \leq 200000
  • 1Ai1091 \leq A_i \leq 10^9
  • 所有输入的值均为整数

样例解释 1

如下操作是最优的:

  • 11 天:什么都不做。
  • 22 天:将 11 克黄金兑换成 55 克白银。
  • 33 天:将 55 克白银兑换成 2.52.5 克黄金。

样例解释 2

例如 (v1,v2,v3,v4)=(1,1,1,1)(v_1,v_2,v_3,v_4)=(1,1,1,1) 这样的方案也被认为是正确的。

由 ChatGPT 4.1 翻译