QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 1024 MB Points totaux : 100

#3138. 捆绑绳的长度

Statistiques

随着在线购物的发展,物流行业与商品运输的联系日益紧密,行业繁荣带来了对大量员工的需求。因此,卡车司机 Alex 在他的日常工作中,需要将仓库中散落的多个包裹运送到其他城市。

根据高速公路运输的官方安全要求,Alex 必须将所有包裹捆绑紧实,以便安全地将货物固定在卡车上。Alex 知道,捆绑包裹所需的绳索长度取决于包裹本身的大小。此外,$n$ 个包裹在经过 $n-1$ 次捆绑后可以被妥善固定。而且,在捆绑货物时,为了避免散落,Alex 每次只能捆绑两个包裹。由于日常绳索消耗巨大,且需要 Alex 自费购买,他希望用最短的绳索长度捆绑所有货物。

例如,有 4 个包裹,大小分别为 8、5、14 和 26。如果 Alex 先将前两个捆绑在一起,所需的绳索长度为 13 ($8+5 = 13$),而捆绑后两个包裹所需的绳索长度为 40 ($14+26 = 40$)。如果 Alex 继续将这两个捆绑物捆在一起,他所需的绳索长度将为 53 ($13+40 = 53$)。因此,这 4 个包裹的总绳索长度为 106 ($13+40+53 = 106$)。如果 Alex 尝试另一种方式,先捆绑前两个 ($8+5 = 13$),加上第三个 ($13+14 = 27$),然后再捆绑最后一个 ($27+14 = 53$),他总共只需要长度为 93 ($13+27+53 = 93$) 的绳索。现在你的任务是帮助 Alex 找到所需绳索的最小长度。

输入格式

第一行包含一个整数 $T$,表示测试用例的数量。每个测试用例包含两行。第一行包含一个正整数 $n$,表示包裹的数量。第二行包含 $n$ 个正整数,由空格分隔,表示每个包裹的大小。

输出格式

对于每个测试用例,输出将所有包裹捆绑在一起所需的最小绳索长度,每个结果占一行。

数据范围

  • $1 \le T \le 10$
  • $1 \le n \le 1000$
  • 每个包裹的大小不超过 1000。

样例

样例输入 1

4
6
2 3 4 4 5 7
5
5 15 40 30 10
10
3 1 5 4 8 2 6 1 1 2
9
3 2 1 6 5 2 6 4 3

样例输出 1

63
205
100
98

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.