U122406 最后一题

题目背景

“呼,终于只剩下最后一题了呢...” World Finals 还剩 1 小时就要封榜,已经 AC 了其他题目的小 X 点开了最后一题。

题目描述

时钟的秒针“滴答”的转着,纵使草稿纸上全是演算记录,但是小 X 苦思冥想,却想不出来最后一题的正解。 作为小 X 的队友,你凑上去看了看题目: > **L. 线性规划** > > 给定三个长度为 $n$ 的数列 $\{a_1, a_2, \cdots, a_n\}$,$\{b_1, b_2, \cdots, b_n\}$,$\{c_1, c_2, \cdots, c_n\}$。 > > 你需要找到一个长度为 $n$ 的 0-1 数列 $\{x_1, x_2, \cdots, x_n\}$,使得这个 0-1 数列在满足 $a_1x_1 + a_2x_2 + \cdots + a_nx_n \leq P$,$b_1x_1 + b_2x_2 + \cdots + b_nx_n \geq P$ 的情况下,能使 $w = c_1x_1+c_2x_2 + \cdots + c_nx_n$ 最小。 时间所剩无几,你们能否 AK World Finals,就靠你了!

输入格式

第一行一个整数 $T$,表示测试数据的数量。 对于每组测试数据: 第一行为两个正整数 $n$,$P$。 第二行为 $n$ 个非负整数,第 $i$ 个数表示 $a_i$。 第三行为 $n$ 个非负整数,第 $i$ 个数表示 $b_i$。 第四行为 $n$ 个非负整数,第 $i$ 个数表示 $c_i$。

输出格式

对于每组测试数据: 如果存在一个 0-1 数列,使得题面中的的约束能被满足,请输出一行一个整数,表示 $w$ 的最小值。 否则请输出 ``Bad Luck``。

说明/提示

**样例 #1 解释** 对于第一组数据,一个符合条件的 0-1 数列为 $\{1,0,0,1,0\}$。 此时 $1 \times 1 + 3 \times 0 + 6 \times 0 + 10 \times 1 + 13 \times 0 = 11 \leq 25$,$13 \times 1 + 7 \times 0 + 8 \times 0 + 15 \times 1 + 16 \times 0 = 28 \geq 25$,此时 $w$ 有最小值 $4$。 对于第二组数据,很明显没有符合条件的 0-1 数列。 **数据范围** 对于 $100\%$ 的数据,$T \leq 5$,$n \leq 1000$,$a_i \leq b_i$,$a_i,b_i,P \leq 10^4$,$c_i \leq 2 \times 10^6$。 **子任务** **本题捆绑测试。** 以下设 $Test$ 为测试点编号。 * 子任务 1(测试点 1~7,17 分):$n = 10 + Test$ * 子任务 2(测试点 8~14,31 分):$n = 970 + Test$,$a_i,b_i,P \leq 100$ * 子任务 3(测试点 15~21,19 分):$n = 970+Test$,所有 $c_i=0$ * 子任务 4(测试点 22~30,33 分):除 $n=970+Test$ 外无任何限制 同一个测试点内的所有测试数据,都符合该测试点在子任务的特征。为了方便你识别数据特征,同一个测试点内的 $n$ 都相同。