#CF1799D2. Hot Start Up(困难版)
Hot Start Up(困难版)
Hot Start Up(困难版)
- 时间限制:1 秒
- 内存限制:512 MiB
题目描述
你有一台配备两个 CPU 的设备,以及编号为 到 的 个程序。
程序 在某个 CPU 上运行需要 秒。如果该 CPU 上一次运行的程序也是 ,本次运行只需要 秒,其中 。只有同一个 CPU 的上一次运行记录会产生热启动;另一个 CPU 运行过什么程序不会改变该记录。
给定长度为 的程序序列 。你必须按顺序运行这些程序,且后一个程序不能在前一个程序结束之前开始。每次可以选择任意一个 CPU 运行当前程序。
求运行全部程序所需的最少总时间。
输入格式
第一行包含一个整数 ,表示测试用例数。
每个测试用例包含四行:
- 第一行包含两个整数 ;
- 第二行包含 个整数 ;
- 第三行包含 个整数 ;
- 第四行包含 个整数 。
输出格式
对每个测试用例输出一行,表示运行全部程序所需的最少总时间。
样例输入 1
9
3 2
1 2 2
3 2
2 1
4 2
1 2 1 2
5 3
2 1
4 3
1 2 3 1
100 100 100
1 1 1
5 2
2 1 2 1 1
65 45
54 7
5 3
1 3 2 1 2
2 2 2
1 1 1
5 1
1 1 1 1 1
1000000000
999999999
5 6
1 6 1 4 1
3 6 4 1 4 5
1 1 1 1 4 1
1 3
3
4 5 6
1 2 3
8 3
3 3 3 1 2 3 2 1
10 10 8
10 10 5
样例输出 1
6
11
301
225
8
4999999996
11
6
63
数据范围
对于所有数据,,,,。所有测试用例的 之和与 之和分别不超过 。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 20 | |
| 2 | 40 | 且 |
| 3 | 无特殊限制 |