AT_awc0002_d 鍵と宝箱
Description
高橋君は冒険の末、 $ N $ 個の宝箱が眠る遺跡にたどり着きました。
各宝箱 $ i $ ( $ 1 \leq i \leq N $ )には錠前がかかっており、その強度は $ C_i $ です。強度の値が大きいほど頑丈な錠前であることを意味します。なお、すべての宝箱の錠前の強度は互いに異なります。
高橋君は $ M $ 本の鍵を持っています。各鍵 $ j $ ( $ 1 \leq j \leq M $ )には開錠能力 $ R_j $ が備わっています。鍵 $ j $ で宝箱 $ i $ を開けることができるのは、鍵の開錠能力が錠前の強度以上である場合、すなわち $ C_i \leq R_j $ のときに限ります。なお、異なる鍵が同じ開錠能力を持つこともあります。
高橋君は、開けたい宝箱をいくつか( $ 0 $ 個でもよい)選び、選んだ宝箱それぞれに鍵を $ 1 $ 本ずつ割り当てて開けます。ただし、同じ鍵を $ 2 $ つ以上の宝箱に割り当てることはできません。また、各宝箱に割り当てた鍵はその宝箱を開けられるもの( $ C_i \leq R_j $ )でなければなりません。使わない鍵や開けない宝箱があっても構いません。
高橋君が開けることのできる宝箱の個数の最大値を求めてください。
Input Format
> $ N $ $ M $ $ C_1 $ $ C_2 $ $ \ldots $ $ C_N $ $ R_1 $ $ R_2 $ $ \ldots $ $ R_M $
- $ 1 $ 行目には、宝箱の個数を表す整数 $ N $ と、鍵の本数を表す整数 $ M $ が空白区切りで与えられる。
- $ 2 $ 行目には、各宝箱の錠前の強度を表す整数 $ C_1, C_2, \ldots, C_N $ が空白区切りで与えられる。
- $ 3 $ 行目には、各鍵の開錠能力を表す整数 $ R_1, R_2, \ldots, R_M $ が空白区切りで与えられる。
Output Format
高橋君が開けることのできる宝箱の個数の最大値を $ 1 $ 行で出力せよ。
Explanation/Hint
### Constraints
- $ 1 \leq N \leq 2 \times 10^5 $
- $ 1 \leq M \leq 2 \times 10^5 $
- $ 1 \leq C_i \leq 10^9 $ $ (1 \leq i \leq N) $
- $ 1 \leq R_j \leq 10^9 $ $ (1 \leq j \leq M) $
- $ C_i \neq C_k $ $ (i \neq k) $ (すべての錠前の強度は互いに異なる)
- 入力はすべて整数