[ABC254Ex] Multiply or Divide by 2

题意翻译

给定大小为 $ n $ 的集合 $ A $ 和 $ B $,你可以对集合 $ A $ 中的元素 $ a_i $ 进行两种操作,分别为 $ a_i \leftarrow \lfloor \dfrac{a_i}{2} \rfloor $,和 $ a_i \leftarrow a_i \times 2 $。你需要操作集合 $ A $ 直至集合 $ A, B $ 完全相同。求最小操作次数,若无解输出 `-1`。

题目描述

[problemUrl]: https://atcoder.jp/contests/abc254/tasks/abc254_h $ N $ 個の非負整数からなる多重集合 $ A=\{\ a_1,\ldots,a_N\ \},\ B=\{\ b_1,\ldots,b_N\ \} $ が与えられます。 あなたは以下の操作を好きな順番で何度でも行えます。 - $ A $ に含まれている非負整数を $ 1 $ つ選び、$ x $ とする。 $ A $ から $ x $ を $ 1 $ つ削除し、代わりに $ 2x $ を $ 1 $ つ追加する。 - $ A $ に含まれている非負整数を $ 1 $ つ選び、$ x $ とする。 $ A $ から $ x $ を $ 1 $ つ削除し、代わりに $ \left\lfloor\ \frac{x}{2}\ \right\rfloor $ を $ 1 $ つ追加する。($ \lfloor\ x\ \rfloor $ は $ x $ を超えない最大の整数) あなたの目的は $ A $ と $ B $ を(多重集合として)一致させることです。 目的を達成することが出来るかどうかを判定し、出来る場合は必要な操作回数の最小値を求めてください。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ a_1 $ $ \ldots $ $ a_N $ $ b_1 $ $ \ldots $ $ b_N $

输出格式


目的を達成出来る場合は必要な操作回数の最小値を出力せよ。出来ない場合は `-1` を出力せよ。

输入输出样例

输入样例 #1

3
3 4 5
2 4 6

输出样例 #1

2

输入样例 #2

1
0
1

输出样例 #2

-1

说明

### 制約 - $ 1\ \leq\ N\ \leq\ 10^5 $ - $ 0\ \leq\ a_1\ \leq\ \ldots\ \leq\ a_N\ \leq\ 10^9 $ - $ 0\ \leq\ b_1\ \leq\ \ldots\ \leq\ b_N\ \leq\ 10^9 $ - 入力はすべて整数 ### Sample Explanation 1 次のようにして $ 2 $ 回の操作で目的を達成できます。 - $ x=3 $ とし、$ A $ から $ x\,\ (=3) $ を $ 1 $ つ削除し代わりに $ 2x\,\ (=6) $ を $ 1 $ つ追加する。これによって $ A=\{4,5,6\} $ となる。 - $ x=5 $ とし、$ A $ から $ x\,\ (=5) $ を $ 1 $ つ削除し代わりに $ \left\lfloor\ \frac{x}{2}\ \right\rfloor\ \,\ (=2) $ を $ 1 $ つ追加する。これによって $ A=\{2,4,6\} $ となる。 ### Sample Explanation 2 $ \{\ 0\ \} $ を $ \{\ 1\ \} $ にすることは出来ません。