AT_wtf22_day2_c Jewel Pairs
Description
[problemUrl]: https://atcoder.jp/contests/wtf22-day2-open/tasks/wtf22_day2_c
$ 1 $ から $ N $ までの番号がついた $ N $ 個の宝石があります. 宝石 $ i $ の色は $ C_i $ で,その価値は $ V_i $ です. ここで,色は $ 1 $ 以上 $ N $ 以下の整数で表されます.
$ 2 $ つの宝石の組 $ (i,j) $ は以下の条件を両方満たすとき (そしてその時のみ),**よい**組と呼ばれます.
- $ C_i\ \neq\ C_j $
- $ V_i\ +\ V_j\ \leq\ L $
あなたは $ N $ 個の宝石からいくつかのよい組を作ろうとしています. $ 1 $ つの宝石が $ 2 $ 個以上の組に含まれてはいけませんが,どの組にも含まれない宝石があっても構いません.
作った組に含まれるすべての宝石の価値の総和としてあり得る最大値を求めてください.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ L $ $ C_1 $ $ V_1 $ $ C_2 $ $ V_2 $ $ \vdots $ $ C_N $ $ V_N $
Output Format
答えを出力せよ.
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 250000 $
- $ 1\ \leq\ L\ \leq\ 10^9 $
- $ 1\ \leq\ C_i\ \leq\ N $
- $ 0\ \leq\ V_i\ \leq\ L $
- 入力される値はすべて整数.
### Sample Explanation 1
組 $ (1,2) $ は $ 1 $ 番目の条件を満たさないのでよい組ではありません. 組 $ (1,4) $ は $ 2 $ 番目の条件を満たさないのでよい組ではありません. この入力例での最適な組の作り方は,組 $ (2,3) $ を作ることです.
### Sample Explanation 2
この入力例での最適な組の作り方は,組 $ (1,5),(2,3) $ を作ることです.