序列变换
题号:NC15570
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

给定两个长度为n的序列,ai, bi(1<=i<=n), 通过3种魔法使得序列a变换为序列b,也就是ai=bi(1<=i<=n).

 

魔法1: 交换aiaji!=j

首先通过若干次的魔法1将序列a变换成序列c

 

魔法2: 对1个数乘2或者加1

魔法3: 对1个数除以2或者减1,如果是奇数,则不能除以2

ci>bi, 则只能对ci实施魔法3,若ci<bi, 则只能对ci实施魔法2. 例如ci=6, bi=4,

则可以通过对ci实施2次减1操作(魔法3)ci变为bi, 但不可以对ci除以2再加1ci变为bi,因为ci>bi, 所以不能对ci实施加1操作(魔法2).

 

小埃想通过最少的操作次数使得序列a变成序列b, 操作次数是指使用的魔法次数

输入描述:

输入测试组数T,每组数据,第一行输入n,1<=n<=9,紧接着输入两行,每行n个整数,前一行为a1,a2,…,an,后一行为b1,b2,…,bn.其中1<=ai,bi<=108,1<=i<=n.

输出描述:

每组数据输出一个整数,表示最少的操作次数
示例1

输入

复制
2
2
8 7
5 1
4
4 3 1 3
1 1 4 3

输出

复制
6
3