QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 512 MB Puntuación total: 10

#5235. 加薪 [B]

Estadísticas

2022 年对 Bajtcorp 公司来说是艰难的一年。糟糕的商业决策加上不景气的市场环境,使得公司无法为员工加薪。为了应对员工可能提出的尴尬问题,人力资源部门想出了一种证明员工不值得加薪的方法。

根据员工在连续几天内产生的总收入数据,可以将一年(在 Bajtocja,一年不一定有 365 天)划分为若干时间段,以表明员工在工作中没有进步。更具体地说,人力资源部门希望将收入序列划分为 $k$ 个连续的区间,使得每个元素恰好属于一个区间。如果无法从每个区间中各选出一个元素,组成一个严格递增的序列,则该划分是正确的。

Bajtcorp 的未来掌握在你的手中。请编写一个程序,读入某位员工产生的收入序列以及数字 $k$,然后将其划分为符合人力资源部门要求的 $k$ 个区间,或者指出这是不可能的。

输入格式

第一行包含两个整数 $n$ 和 $k$ ($2 \le k \le n \le 500\,000$),分别表示员工产生的收入序列长度和要求的区间数量。

下一行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$),构成收入序列。

输出格式

如果无法按照要求划分序列,则在输出的第一行打印 ‘NIE’。

否则,在第一行打印 ‘TAK’,并在第二行打印 $k-1$ 个整数 $v_1, \dots, v_{k-1}$ ($1 \le v_i < n; v_i < v_{i+1}$),表示正确划分中各区间的结束索引(最后一个区间的结束索引固定为 $n$,无需输出)。

如果存在多种正确答案,输出其中任意一个即可。

样例

样例输入 1

6 3
3 5 4 8 3 7

样例输出 1

TAK
3 5

样例输入 2

4 2
2 3 2 3

样例输出 2

NIE

说明

在第一个样例中,将序列划分为 $[3, 5, 4]$、$[8, 3]$ 和 $[7]$ 后,无论我们在第一个区间中选择哪个元素,在第二个区间中我们都必须选择 8 才能构成递增序列。在最后一个区间中,我们只有一个选择,它并不大于 8,因此我们无法构造出一个递增序列,该划分符合要求。

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.