数字の削除
n
個の数 が与えられています。これらの数字を削除することでポイントを獲得できます。具体的には、ある数字 を削除すると、 ポイントを手に入れることができます。ただし、 を削除した際には、同時に や と等しい数字をすべて配列から削除しなければなりません(これらを削除してもポイントは入りません)。では、最終的に得られるポイントの最大値はいくつになるでしょうか?
入力
最初の行には整数
n
(1 ≤ n ≤ ) が与えられます。続く行には、
n
個の整数 (1 ≤ ≤ ) が空白区切りで与えられます。 出力
獲得できるポイントの最大値を出力してください。
例
入力 | 出力 |
3
2 4 3 | 6 |
6
3 2 3 2 3 4 | 9 |
説明
- 例1:
- 2 を削除 ⇒ 2 ポイント獲得 ⇒ 3 をすべて削除
- 4 を削除 ⇒ 4 ポイント獲得
- 合計で 6 ポイント
- 例2:
- 3 を削除 ⇒ 3 ポイント獲得 ⇒ 2 と 4 をすべて削除
- 再び 3 を削除 ⇒ 3 ポイント獲得 ⇒ 削除対象なし
- さらに 3 を削除 ⇒ 3 ポイント獲得 ⇒ 削除対象なし
- 合計で 9 ポイント
Constraints
Time limit: 3.5 seconds
Memory limit: 512 MB
Output limit: 1 MB