SP6691 GCJ101BB - Picking Up Chicks
题目描述
一群小鸡正在一条笔直狭窄的道路上向东奔跑。每只小鸡以一个固定的速度前进。当小鸡追上它前面的小鸡时,必须降低速度以跟随。你驾驶着一辆移动吊车在后面追赶,试图将这些小鸡赶进尽头的鸡舍。吊车的臂可以瞬间拾起任何一只小鸡,让它后面的小鸡通过,然后再把小鸡放回去。这个操作即时完成,并且只能在相邻的两只小鸡之间进行,即便三只以上的小鸡排成一列,拾起其中一只也只让一只通过。
现在给定这些小鸡初始时刻的位置($X_i$)和速度($V_i$),以及鸡舍所在位置($B$),你要找出使用吊车进行交换的最少次数,让至少 $K$ 只小鸡能够在 $T$ 秒之内到达鸡舍。
你可以将小鸡看作直线上移动的点。即便多只小鸡挤在一起,交换操作只能让一只小鸡通过。所有交换都是瞬间完成的,尽管可以同时进行多个交换,但每一次都算作一次单独的操作。
输入格式
第一行输入一个整数 $C$,表示测试用例的数量。之后是 $C$ 个测试用例。每个测试用例的第一行有 4 个整数:$N$、$K$、$B$ 和 $T$。下一行是 $N$ 个递增的整数 $X_i$,表示每只小鸡的初始位置。接着一行是 $N$ 个正整数 $V_i$,表示小鸡的速度。
输出格式
对于每个测试用例,输出 "Case #x: S",其中 x 是测试用例编号(从 1 开始),S 是所需的最少交换次数;如果无法达成目标,则输出 "IMPOSSIBLE"。
### 数据范围与提示
- 1 ≤ C ≤ 100
- 1 ≤ N ≤ 100
- 1 ≤ K ≤ N
- 1 ≤ B ≤ 100,000
- 0 ≤ T ≤ 1,000
- 0 < X_i < B
- 1 ≤ V_i ≤ 100
所有的 $X_i$ 保证互不相同,并按递增顺序排列。
**本翻译由 AI 自动生成**