#589. 【2025-11-26】# T2 大鱼吃小鱼 (fish,1s,512MB) - 文件读写

【2025-11-26】# T2 大鱼吃小鱼 (fish,1s,512MB) - 文件读写

T2 大鱼吃小鱼 (fish,1s,512MB)

题目背景

小 X 今天在玩大鱼吃小鱼游戏,在玩游戏的时候,为了更好地玩好这款游戏,他决定用自己学过的算法知识去解决这个问题。

题目描述

一个狭长的水域中有 nn 条鱼排成一列,第 ii 只鱼有自身的重量 aia_i

在这个大鱼吃小鱼游戏中,每条鱼只能吃体重严格小于自身体重的鱼,当体重为 aia_i 的鱼吃掉体重为 aja_j 的鱼之后,体重为 aia_i 的鱼的体重变为 ai=aiaja_i = a_i | a_j ,并且第 jj 条鱼消失,两边的鱼位置相邻。

由于狭长水域空间限制,每条鱼只能吃掉与它相邻的鱼,在大鱼吃小鱼游戏,你可以安排每个时刻哪条鱼吃哪条鱼,求出初始在每个位置的鱼的最大可能体重,对于每条鱼,输出它最大可能体重。

输入格式

第一行输入一个数字 nn , 代表鱼的数量。

第二行输入一个长度为 nn 的序列 a1,a2,...,ana_1 , a_2 , ... , a_n , 代表初始状态下每只鱼的体重 。

输出格式

输出一行 nn 个数字,代表初始在每个位置的鱼的最终最大可能体重值。

输入输出样例 #1

输入 #1

5
3 2 1 4 9

输出 #1

3 3 1 7 15

输入输出样例 #2

输入 #2

10
3 2 13 1 8 4 9 12 15 6

输出 #2

3 2 15 1 13 4 13 13 15 6

说明/提示

对于前 10%10\% 数据,满足 1n101 \leq n \leq 10

对于另外 30%30\% 数据,满足 1n1031 \leq n \leq 10^3

对于 100%100\% 数据,满足 1n105,1ai1091 \leq n \leq 10^5 , 1 \leq a_i \leq 10^9