游戏的买
题号:NC248510
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

炸鸡块君想要买一款st*am游戏,由于不可抗力,这款游戏将在n天后下架。

该游戏的价格每天都会变动,通过内部消息,炸鸡已经知道该游戏第i天的价格等概率的为a_ib_i之一,在每一天的最开始,st*am会公布该游戏当天的价格(为a_ib_i)之一,然后炸鸡可以决定在这一天是否买该游戏。

现在,炸鸡想知道如果他采取最优(花费最少)的购买策略,在保证能买到该游戏的前提下,期望会花多少钱。

(可以观看样例获得进一步理解)

输入描述:

输入第一行是一个整数,表示用例组数。

每组用例第一行是一个整数,含义如题所述。

每组用例的第二行是n个正整数,第i个数字为,含义如题所述。

每组用例的第三行是n个正整数,第i个数字为,含义如题所述。

保证测试数据n的和

输出描述:

每组用例输出一个浮点数,表示你的答案,你的答案与std输出的答案相对误差在内即为正确。
示例1

输入

复制
2
2
7 8
10 8
2
10 1000
100 1

输出

复制
7.500000
55.000000

说明

第一组样例中:

第一天的价格有一半概率是7元,此时第一天以7元买比较优;

第一天的价格还有一半概率是10元,此时第二天以8元买比较优;

因此,答案为(7+8)/2=7.5元。