A14633 | Minimize Distance
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
A total of $n$ depots are located on a number line. Depot $i$ lies at the point $x_i$ for $1 \le i \le n$ .
You are a salesman with $n$ bags of goods, attempting to deliver one bag to each of the $n$ depots. You and the $n$ bags are initially at the origin $0$ . You can carry up to $k$ bags at a time. You must collect the required number of goods from the origin, deliver them to the respective depots, and then return to the origin to collect your next batch of goods.
Calculate the minimum distance you need to cover to deliver all the bags of goods to the depots. You do not have to return to the origin after you have delivered all the bags.
You are a salesman with $n$ bags of goods, attempting to deliver one bag to each of the $n$ depots. You and the $n$ bags are initially at the origin $0$ . You can carry up to $k$ bags at a time. You must collect the required number of goods from the origin, deliver them to the respective depots, and then return to the origin to collect your next batch of goods.
Calculate the minimum distance you need to cover to deliver all the bags of goods to the depots. You do not have to return to the origin after you have delivered all the bags.
输入格式
Each test contains multiple test cases. The first line contains the number of test cases $t$ ( $1 \le t \le 10\,500$ ). Description of the test cases follows.
The first line of each test case contains two integers $n$ and $k$ ( $1 \le k \le n \le 2 \cdot 10^5$ ).
The second line of each test case contains $n$ integers $x_1, x_2, \ldots, x_n$ ( $-10^9 \le x_i \le 10^9$ ). It is possible that some depots share the same position.
It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$ .
The first line of each test case contains two integers $n$ and $k$ ( $1 \le k \le n \le 2 \cdot 10^5$ ).
The second line of each test case contains $n$ integers $x_1, x_2, \ldots, x_n$ ( $-10^9 \le x_i \le 10^9$ ). It is possible that some depots share the same position.
It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$ .
输出格式
For each test case, output a single integer denoting the minimum distance you need to cover to deliver all the bags of goods to the depots.
输入输出样例
输入 #1
4 5 1 1 2 3 4 5 9 3 -5 -10 -15 6 5 8 3 7 4 5 3 2 2 3 3 3 4 2 1000000000 1000000000 1000000000 1000000000
输出 #1
25 41 7 3000000000
In the first test case, you can carry only one bag at a time. Thus, the following is a solution sequence that gives a minimum travel distance: $0 \to 2 \to 0 \to 4 \to 0 \to 3 \to 0 \to 1 \to 0 \to 5$ , where each $0$ means you go the origin and grab one bag, and each positive integer means you deliver the bag to a depot at this coordinate, giving a total distance of $25$ units. It must be noted that there are other sequences that give the same distance.
In the second test case, you can follow the following sequence, among multiple such sequences, to travel minimum distance: $0 \to 6 \to 8 \to 7 \to 0 \to 5 \to 4 \to 3 \to 0 \to (-5) \to (-10) \to (-15)$ , with distance $41$ . It can be shown that $41$ is the optimal distance for this test case.
In the second test case, you can follow the following sequence, among multiple such sequences, to travel minimum distance: $0 \to 6 \to 8 \to 7 \to 0 \to 5 \to 4 \to 3 \to 0 \to (-5) \to (-10) \to (-15)$ , with distance $41$ . It can be shown that $41$ is the optimal distance for this test case.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted