数字の削除

n 個の数 が与えられています。これらの数字を削除することでポイントを獲得できます。具体的には、ある数字 を削除すると、 ポイントを手に入れることができます。ただし、 を削除した際には、同時に と等しい数字をすべて配列から削除しなければなりません(これらを削除してもポイントは入りません)。
では、最終的に得られるポイントの最大値はいくつになるでしょうか?

入力

最初の行には整数 n (1 ≤ n ≤ ) が与えられます。
続く行には、n 個の整数 (1 ≤ ) が空白区切りで与えられます。

出力

獲得できるポイントの最大値を出力してください。

入力
出力
3 2 4 3
6
6 3 2 3 2 3 4
9

説明

  1. 例1:
    1. 2 を削除 ⇒ 2 ポイント獲得 ⇒ 3 をすべて削除
    2. 4 を削除 ⇒ 4 ポイント獲得
    3. 合計で 6 ポイント
  1. 例2:
    1. 3 を削除 ⇒ 3 ポイント獲得 ⇒ 2 と 4 をすべて削除
    2. 再び 3 を削除 ⇒ 3 ポイント獲得 ⇒ 削除対象なし
    3. さらに 3 を削除 ⇒ 3 ポイント獲得 ⇒ 削除対象なし
    4. 合計で 9 ポイント
 

Constraints

Time limit: 3.5 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue