AT_nikkei2019_qual_f Jewels

Description

[problemUrl]: https://atcoder.jp/contests/nikkei2019-qual/tasks/nikkei2019_qual_f $ N $ 個の宝石があり、$ 1 $ から $ N $ までの番号がついています。 それぞれの宝石の色は $ 1 $ 以上 $ K $ 以下の整数で表され、宝石 $ i $ の色は $ C_i $ です。 また、それぞれの宝石には価値が定まっており、宝石 $ i $ の価値は $ V_i $ です。 すぬけ君はこれらの宝石のうちいくつかを選んで展示したいです。 ただし、選んだ宝石の集合は、次の条件を満たす必要があります。 - 選ばれたどの宝石についても、同じ色の選ばれた宝石がそれのほかに $ 1 $ つ以上存在する。 $ 1\ \leq\ x\ \leq\ N $ を満たすすべての整数 $ x $ について、ちょうど $ x $ 個の宝石を選ぶことが可能か判定してください。 また可能な場合は、選んだ宝石の価値の総和としてあり得る最大の値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $ $ C_1 $ $ V_1 $ $ C_2 $ $ V_2 $ $ : $ $ C_N $ $ V_N $

Output Format

$ N $ 行出力せよ。 $ i $ 行目に、ちょうど $ i $ 個の宝石を選ぶことが可能な場合は、その場合の選んだ宝石の価値の総和としてあり得る最大の値を出力し、不可能な場合は $ -1 $ を出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ 1\ \leq\ K\ \leq\ \lfloor\ N/2\ \rfloor $ - $ 1\ \leq\ C_i\ \leq\ K $ - $ 1\ \leq\ V_i\ \leq\ 10^9 $ - どの色についても、その色の宝石が $ 2 $ つ以上存在する。 - 入力される値はすべて整数である。 ### Sample Explanation 1 ちょうど $ 1 $ 個の宝石を選ぶことはできません。 ちょうど $ 2 $ 個の宝石を選ぶ場合は、宝石 $ 4,5 $ を選ぶことで価値の総和を最大化できます。 ちょうど $ 3 $ 個の宝石を選ぶ場合は、宝石 $ 1,2,3 $ を選ぶことで価値の総和を最大化できます。 ちょうど $ 4 $ 個の宝石を選ぶ場合は、宝石 $ 2,3,4,5 $ を選ぶことで価値の総和を最大化できます。 ちょうど $ 5 $ 個の宝石を選ぶ場合は、宝石 $ 1,2,3,4,5 $ を選ぶことで価値の総和を最大化できます。