#NC2501I. 铁棒切割
铁棒切割
题目描述
有 根铁棒,其中第 根铁棒的长度为 。这 根铁棒按照 的顺序焊接在一起,形成一根非常长的铁棒以供使用。焊接两个相邻的铁棒会产生一个焊点,总共会有 个焊点。
小 Q 需要将这根铁棒切割回 根铁棒。每次他可以选择一根至少有一个焊点的铁棒,并选择一个焊点将铁棒从焊点处分割成两根铁棒,然后记得到的两根铁棒的长度分别为 和 。这次切割的不平衡度定义为 ,而切割的代价定义为 $\min(l_1, l_2) \times \lceil \log_2(l_1 + l_2) \rceil$。请注意, 表示 的绝对值, 表示满足 的最小整数 。
小 Q 希望通过 次切割的不平衡度 满足 ,并且这 次切割的总代价最小。他需要对每个 计算第一次切割在第 根铁棒和第 根铁棒之间的焊点时最小的总代价,或者指出不可能切割出 根铁棒。
输入格式
输入的第一行包含一个整数 ,表示测试数据的组数。
对于每组测试数据:
- 第一行包含一个整数 ,表示铁棒的数量。
- 第二行包含 个整数 ,表示每根铁棒的长度。
保证所有测试数据中 的总和不超过 。
输出格式
对于每组测试数据,输出一行包含 个整数,其中第 个整数表示第一次切割在第 根铁棒和第 根铁棒之间的焊点时的总代价的最小值,或者输出 -1 表示不可能切割出 根铁棒。
1
3
8 9 7
3
1 5 9
3
3 1 4
68 75
24 -1
-1 -1