AT_keyence2019_c Exam and Wizard
Description
[problemUrl]: https://atcoder.jp/contests/keyence2019/tasks/keyence2019_c
大学生の高橋君は $ N $ 個の試験を受けてすべてに合格する必要があります. 現在,$ i $ 番目の試験の準備度は $ A_{i} $ です. また,高橋君の入念な調査によって,$ i $ 番目の試験に合格するためには準備度を $ B_{i} $ 以上にしなくてはならないことが分かっています.
このままだとすべての試験に合格できないかもしれないと思った高橋君は,魔法使いの青木君に頼んで, 試験の準備度の総和は変えずに,なるべく少ない数の試験の準備度を変更してもらうことで試験を乗り切ることにしました.
高橋君に代わって,以下の条件を満たす数列 $ C_1,\ C_2,\ ...,\ C_{N} $ を考えたときの $ A_i $ と $ C_i $ が異なるような $ i $ の個数の最小値を求めてください. そのような数列 $ C_1,\ C_2,\ ...,\ C_{N} $ が構成できない場合は $ -1 $ を出力してください.
- 数列 $ A_1,\ A_2,\ ...,\ A_{N} $ の総和と数列 $ C_1,\ C_2,\ ...,\ C_{N} $ の総和は等しい
- どの $ i $ に対しても,$ B_i\ \leq\ C_i $ が成り立つ
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ A_1 $ $ A_2 $ $ ... $ $ A_{N} $ $ B_1 $ $ B_2 $ $ ... $ $ B_{N} $
Output Format
条件を満たす数列 $ C_1,\ C_2,\ ...,\ C_{N} $ を考えたときの $ A_i $ と $ C_i $ が異なるような $ i $ の個数の最小値を出力せよ. 数列 $ C_1,\ C_2,\ ...,\ C_{N} $ が構成できない場合は,$ -1 $ を出力せよ.
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 10^5 $
- $ 1\ \leq\ A_i\ \leq\ 10^9 $
- $ 1\ \leq\ B_i\ \leq\ 10^9 $
- $ A_i,\ B_i $ は整数
### Sample Explanation 1
$ (A_1,\ A_2,\ A_3)\ =\ (2,\ 3,\ 5) $ ,$ (B_1,\ B_2,\ B_3)\ =\ (3,\ 4,\ 1) $ であり,このままでは $ 1 $ 番目と $ 2 $ 番目の試験に合格できません. 以下のように $ C_1,\ C_2,\ C_3 $ を構成すれば,$ A_i $ と $ C_i $ が異なるような $ i $ の個数の最小値 $ 3 $ を達成できます. - $ (C_1,\ C_2,\ C_3)\ =\ (3,\ 5,\ 2) $
### Sample Explanation 2
この場合は,何もしなくても全ての試験に合格できます.
### Sample Explanation 3
この場合は,どのようにしても全ての試験に合格することはできません.