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