小码君现在有 1 克黄金和 0 克白银,他将在接下来的 n 天交易黄金和白银。 每一天都会有一个汇率Ai,如果在第 i 天交易 (1 ≤ i ≤ N),将发生以下情况:
如果你手中有 x 克金,可以全部兑换为 x×Ai克银,同理,如果有x克银,可以全部兑换为 x/Ai克金。或者不进行兑换。
小码君的目标是最大化他最终拥有的黄金数量,这意味着它的交易次数必然是偶数次。他不需要知道最后能获得多少黄金,但需要请你找到一种策略来达到他的目标,用一个数组B来表示,若第i天进行兑换,则Bi为1,否则为0。
由于思维难度大于实现难度,请仔细观察样例的实现思路。
第一行输入整数n,表示接下来n天进行交易。
第二行包含n个整数,表示第i天的汇率Ai,不会出现连续两天汇率相同的情况。
输出n个整数,第i个数表示第i天是否进行兑换,1为进行兑换,0为不兑换。
10
1 2 3 4 3 2 1 6 3 5
0 0 0 1 0 0 1 1 1 0
5
1 2 3 4 5
0 0 0 0 0
10
2 1 3 1 4 1 5 1 6 1
1 1 1 1 1 1 1 1 1 1
1<=n,Ai<=104
对于样例一:
前三天不管在哪天把黄金兑换成白银,都没有在第四天把黄金兑换成白银划算;而从第四天到第七天,汇率越低时将白银换成黄金肯定更划算,因此我们在第四天卖出黄金,在第七天买入黄金。
同理第八天卖出、第九天买入。
但是卖出和买入是需要成对操作的,因为题目要求最后持有的是黄金。因此第十天找不到与之配对的日子,故不操作。
对于样例二:
由于找不到和样例一所举例的高点卖出低点买入,因此都不进行操作。