Universal Cup Judging System

Universal Cup

Limite de temps : 1 s Limite de mémoire : 2048 MB Points totaux : 100 Difficulté: [afficher] Hackable ✓
Statistiques

在以 $O(2^{0.49n})$ 的时间复杂度解决了子集和问题(Subset Sum problem)之后,小青鱼希望你解决如下问题。

小青鱼有 $n$ 张卡牌。第 $i$ 张卡牌($1 \le i \le n$)上写有一个非负整数 $a_i$。

对于卡牌下标的每个子集 $S \subseteq [n]$(其中 $[n] = \{1, 2, \ldots, n\}$),他会记录所选卡牌上整数的总和,即 $\sum_{i \in S} a_i$。空集对应的总和为 $0$。不同的子集会分别记录,即使它们的总和相等。

在考虑完所有 $2^n$ 个子集后,他将这 $2^n$ 个总和按非降序排序,并记作 $s_0, s_1, \ldots, s_{2^n-1}$。小青鱼希望你求出两个相邻总和之间的最大差值,即

$$\max_{0 \le i < 2^n - 1} (s_{i+1} - s_i).$$

输入格式

本题包含多组测试数据。输入的第一行包含一个整数 $T$($1 \le T$),表示测试数据的组数。

对于每组测试数据,第一行包含一个整数 $n$($1 \le n \le 10^6$),表示卡牌的数量。第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i \le 10^9$),表示写在卡牌上的整数。

保证所有测试数据中 $n$ 的总和不超过 $10^6$。

输出格式

对于每组测试数据,输出一行一个整数,表示两个相邻总和之间的最大差值。

样例

输入格式 1

4
1
0
3
2 3 10
3
1 1 3
3
0 4 4

输出格式 1

0
5
1
4

说明

在第一组样例测试数据中,两个子集和均为 $0$,因此答案为 $0$。

在第二组样例测试数据中,排序后的子集和为 $0, 2, 3, 5, 10, 12, 13, 15$。最大差值为 $5$,出现在 $5$ 和 $10$ 之间。

在第三组样例测试数据中,排序后的子集和为 $0, 1, 1, 2, 3, 4, 4, 5$。答案为 $1$。

在第四组样例测试数据中,排序后的子集和为 $0, 0, 4, 4, 4, 4, 8, 8$。答案为 $4$。

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.