Skip to content

年齢の差 (Age Difference)

Unrated
日本語

Language

Contribute a translation
Time limit
2000 ms
Memory limit
1024 MB
Submissions
0
Correct
0
Solved by
0
AC rate
—

Statement

JOI 市には \(1\) から \(N\) までの番号が付けられた \(N\) 人の住民がおり,住民 \(i\) (\(1 \leqq i \leqq N\)) の年齢は \(A_i\) 歳である.

JOI 市の住民の年齢 \(A_1, A_2, \dots, A_N\) が与えられる.\(i = 1, 2, \dots, N\) に対して,住民 \(i\) と他の住民との年齢の差の最大値を求めるプログラムを作成せよ.

Constraints

  • \(2 \leqq N \leqq 250\,000\).
  • \(0 \leqq A_i \leqq 10^9\) (\(1 \leqq i \leqq N\)).
  • 入力される値はすべて整数である.

Subtasks

  1. (\(25\) 点) \(N = 2\).
  2. (\(30\) 点) \(N \leqq 1\,000\).
  3. (\(45\) 点) 追加の制約はない.

Input

入力は以下の形式で与えられる.

\(N\)
\(A_1\) \(A_2\) \(\cdots\) \(A_N\)

Output

\(N\) 行出力せよ.\(i\) 行目 (\(1 \leqq i \leqq N\)) には,住民 \(i\) と他の住民との年齢の差の最大値を出力せよ.

Examples

Sample input 1
3
13 15 20
Sample output 1
7
5
7
  • 住民 \(1\) と住民 \(2, 3\) との年齢の差はそれぞれ \(2, 7\) 歳である.これらの最大値は \(7\) 歳であるから,\(1\) 行目には \(7\) を出力する.
  • 住民 \(2\) と住民 \(1, 3\) との年齢の差はそれぞれ \(2, 5\) 歳である.これらの最大値は \(5\) 歳であるから,\(2\) 行目には \(5\) を出力する.
  • 住民 \(3\) と住民 \(1, 2\) との年齢の差はそれぞれ \(7, 5\) 歳である.これらの最大値は \(7\) 歳であるから,\(3\) 行目には \(7\) を出力する.

この入力例は小課題 \(2, 3\) の制約を満たす.

Sample input 2
2
100 100
Sample output 2
0
0
  • 住民 \(1\) と住民 \(2\) との年齢の差は \(0\) 歳である.したがって,\(1\) 行目には \(0\) を出力する.
  • 住民 \(2\) と住民 \(1\) との年齢の差は \(0\) 歳である.したがって,\(2\) 行目には \(0\) を出力する.

この入力例はすべての小課題の制約を満たす.

Sample input 3
10
440894064 101089692 556439322 34369336 98417847 216265879 623843484 554560874 247445405 718003331
Sample output 3
406524728
616913639
522069986
683633995
619585484
501737452
589474148
520191538
470557926
683633995

この入力例は小課題 \(2, 3\) の制約を満たす.

Notes

Tags

No tags yet

Source