在一个竞技队中,有 N 名选手,编号从 1 到 N,每位选手有一个能力分值,记为 P_1, P_2, \ldots, P_N,表示他们在比赛中的综合表现评分。
作为队伍的教练,你需要为每位选手制定应急预案:如果某位选手(第 i 位)无法上场,你需要从其余 N-1 名选手中选择一位能力值最高的选手作为替补,称为“最佳替补”。你的任务是计算每位选手的“最佳替补能力值”,即:除去第 i 位选手后,其余选手中能力值的最大值。
请编写程序,为每位选手计算其最佳替补能力值,以帮助教练优化队伍配置。
第一行包含一个整数 N,表示选手的数量。
接下来 N 行,每行包含一个整数 P_i,表示第 i 位选手的能力值。
输出 N 行,第 i 行包含一个整数,表示第 i 位选手的最佳替补能力值,即除去 P_i 后其余 N-1 名选手能力值中的最大值。
3 1 4 3
4 3 4
2 5 5
5 5
10 1 2 2 2 12 12 8 8 8 12
12 12 12 12 12 12 12 12 12 12 12
对于第 1 位选手(能力值 P_1 = 1),剩余选手能力值为 P_2 = 4 和 P_3 = 3,最佳替补能力值为 4,输出 4。
对于第 2 位选手(能力值 P_2 = 4),剩余选手能力值为 P_1 = 1 和 P_3 = 3,最佳替补能力值为 3,输出 3。
对于第 3 位选手(能力值 P_3 = 3),剩余选手能力值为 P_1 = 1 和 P_2 = 4,最佳替补能力值为 4,输出 4。
对于 30\% 的数据,满足 2 \leq N \leq 10。
对于 100\% 的数据,满足 2 \leq N \leq 200000,1 \leq P_i \leq 200000。