在一个基因工程研究项目中,科学家们获得了一批基因序列样本 。 这批样本的数量为 ,其中 是一个偶数,且 。 每个基因序列都有一个整数ID,ID值可能会重复出现。 为了进行对比实验,需要将这批样本 分成两个小组:实验组 和对照组 。 分组必须遵循以下严格的实验标准: 1. 数量均等 : 两个小组的基因序列样本数量必须完全相等,即 。 2. 组内ID唯一性 : 在同一个小组内,所有基因序列的ID必须是唯一的。 3. 有序排列 : 输出时,两个小组内的基因序列ID都必须按升序排列。 4. 实验组复杂度最小化 : 为了确保实验结果的准确性,实验组 的“基因复杂度”(定义为组内所有ID的总和 )必须达到最小值。 您的任务是设计一个算法,根据给定的初始样本集合 ,找出满足上述所有条件的最优分组方案。 如果存在这样的方案,请输出两个小组的ID列表。 如果无法找到任何满足条件的分组方案,则输出 `null`。
输入描述:
一个包含 个正整数的数组,代表初始基因序列样本集合 的ID列表。数组长度 的范围为 。


输出描述:
如果存在有效分组,输出两行。第一行是实验组 的ID列表(升序),第二行是对照组 的ID列表(升序)。ID之间用空格隔开。如果不存在有效分组,则输出字符串 `null`。
示例1

输入

1 1 2 4 3 6

输出

1 2 3
1 4 6
示例2

输入

1 1 1 2

输出

null

备注:
本题由牛友@Charles 整理上传
加载中...