数字の削除
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