QOJ.ac

QOJ

実行時間制限: 4 s メモリ制限: 256 MB 満点: 100

#7286. 容器

統計

Bajtazar 经营着一家化学实验室。实验室里存放着 $n$ 种化学物质,编号从 $1$ 到 $n$,其中第 $i$ 种物质有 $a_i$ 字节升。

Bajtazar 购买了 $n$ 个新容器,他想把所有物质都装进这些容器里。每个容器的容量为 $k$ 字节升,每个容器最多可以存放两种物质。换句话说,一个容器内可以存放总量不超过 $k$ 字节升的同一种物质,或者存放总量不超过 $k$ 字节升的两种不同物质(每种物质的量不限)。每种物质都可以任意拆分并放入任意数量的容器中。请帮助 Bajtazar 将这些物质分配到容器中,或者判断这是否不可能。

输入格式

输入的第一行包含两个整数 $n$ 和 $k$ ($1 \le n \le 1\,000\,000$, $1 \le k \le 10^{12}$),分别表示物质的数量(也是容器的数量)以及每个容器的容量(单位为字节升)。接下来的 $n$ 行描述了这些物质:第 $i$ 行包含一个整数 $a_i$ ($1 \le a_i \le 10^{12}$),表示第 $i$ 种物质的量(单位为字节升)。

输出格式

第一行输出一个单词 TAKNIE,表示是否可能按照题目要求分配物质。

如果答案是 TAK,则需要描述一种将物质分配到容器中的方案,使得每个容器中最多存放两份物质,且总容量不超过 $k$ 字节升。接下来的 $n$ 行应描述这种分配方案。第 $i$ 行应描述第 $i$ 个容器的内容:第一个整数 $m_i$ ($0 \le m_i \le 2$) 表示放入第 $i$ 个容器的物质份数。随后是 $m_i$ 对整数;每对整数中,第一个数是物质编号,第二个数是放入该容器的该物质的量(字节升)。

如果 $m_i = 2$,这两份物质可以是不同的物质,也可以是同一种物质的两份。此外,允许在容器中放入 $0$ 字节升的物质(尽管在这种情况下,也可以给出 $m_i$ 更小的答案)。

样例

输入 1

5 6
1
11
3
4
2

输出 1

TAK
2 4 4 2 2
2 5 2 2 3
1 2 6
0
2 1 1 3 3

说明 1

在第一个容器中,我们放入了全部的第 $4$ 号物质($4$ 字节升)和 $2$ 字节升的第 $2$ 号物质,刚好填满容器。在第二个容器中,我们放入了全部的第 $5$ 号物质($2$ 字节升)和 $3$ 字节升的第 $2$ 号物质,留出了一些空余空间。第三个容器装入了剩余的第 $2$ 号物质($6$ 字节升)。第四个容器保持为空。在第五个容器中,我们放入了第 $1$ 号和第 $3$ 号物质。

输入 2

2 10
20
1

输出 2

NIE

说明 2

物质无法装入容器:仅第一种物质就会填满两个容器,导致没有空间存放第二种物质。

子任务

测试集分为以下子任务。每个子任务的测试用例由一组或多组独立的测试数据组成。

子任务 限制 分数
1 $a_i > k$ 的物质最多只有一种 9
2 $a_i > k$ 的物质最多只有两种 24
3 $n, k \le 6$ 15
4 $n \le 100$ 21
5 无额外限制 31

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.