C - Exception Handling 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MB

配点 : 300

問題文

長さ N の数列 A_1, A_2, ..., A_N が与えられます。 1 以上 N 以下の各整数 i に対し、次の問いに答えてください。

  • 数列中の A_i を除く N - 1 個の要素のうちの最大の値を求めよ。

制約

  • 2 \leq N \leq 200000
  • 1 \leq A_i \leq 200000
  • 入力中のすべての値は整数である。

入力

入力は以下の形式で標準入力から与えられる。

N
A_1
:
A_N

出力

N 行出力せよ。i 行目 (1 \leq i \leq N) に、数列中の A_i を除く N - 1 個の要素のうちの最大の値を出力すること。


入力例 1

3
1
4
3

出力例 1

4
3
4
  • 数列中の A_1 を除く 2 個の要素、A_2 = 4A_3 = 3 のうちの最大の値は 4 です。
  • 数列中の A_2 を除く 2 個の要素、A_1 = 1A_3 = 3 のうちの最大の値は 3 です。
  • 数列中の A_3 を除く 2 個の要素、A_1 = 1A_2 = 4 のうちの最大の値は 4 です。

入力例 2

2
5
5

出力例 2

5
5

Score : 300 points

Problem Statement

You are given a sequence of length N: A_1, A_2, ..., A_N. For each integer i between 1 and N (inclusive), answer the following question:

  • Find the maximum value among the N-1 elements other than A_i in the sequence.

Constraints

  • 2 \leq N \leq 200000
  • 1 \leq A_i \leq 200000
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
A_1
:
A_N

Output

Print N lines. The i-th line (1 \leq i \leq N) should contain the maximum value among the N-1 elements other than A_i in the sequence.


Sample Input 1

3
1
4
3

Sample Output 1

4
3
4
  • The maximum value among the two elements other than A_1, that is, A_2 = 4 and A_3 = 3, is 4.
  • The maximum value among the two elements other than A_2, that is, A_1 = 1 and A_3 = 3, is 3.
  • The maximum value among the two elements other than A_3, that is, A_1 = 1 and A_2 = 4, is 4.

Sample Input 2

2
5
5

Sample Output 2

5
5