#L3908. 「PA 2022」Podwyżki

    ID: 3179 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>搜索枚举其他构造贪心数组分段前缀最小值后缀最大值

「PA 2022」Podwyżki

题目描述

题目译自 PA 2022 Runda 2 Podwyżki

对于 Bytecorp 来说,2022 年是艰难的一年。商业决策失误,再加上不景气的市场状况,意味着公司无力为员工涨薪。为了准备应对员工提出的不舒服的问题,人资部门发明了一种方法来证明员工不值得涨薪。

根据一个雇员在连续几天内产生的总收益,可以将一年(在 Byteotia,一年不一定是 365 天)划分为若干区间,这将表明该雇员工作不投入。更确切地说,人资部门希望将收入序列划分为 kk 个连续区间,使得序列中的每个元素都恰好属于一个区间。如果不可能从每个区间选择一个元素,使所选元素形成严格的升序,那么这种划分是正确的。

Bytecorp 的未来在你手上。写一个程序读入某个雇员产生的收益序列和一个整数 kk,并根据人资部门的要求把序列分成 kk 段,或者判断无法分成这样的 kk 段。

输入格式

输入的第一行包含两个整数 n,kn, k (2kn5000002 \le k \le n \le 500\,000),表示序列长度和要分成的段数。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai1091 \le a_i \le 10^9),表示收益序列。

输出格式

如果这个序列不能按如上方法分割,输出一行一个字符串 NIE

否则输出两行,第一行一个字符串 TAK,第二行输出 k1k-1 个整数 v1,,vk1v_1, \ldots, v_{k-1} (1vi<n1 \le v_i < n, vi<vi+1v_i < v_{i+1}),表示正确的划分中除最后一个区间外,每个连续区间的右端点,最后一个区间的右端点一定是 nn

如果有多个正确答案,可以输出任意一个。

6 3
3 5 4 8 3 7

TAK
3 5

4 2
2 3 2 3


NIE

数据规模与约定

对于所有数据,保证:

2kn500,0002 \le k \le n \le 500,000

1ai1091 \le a_i \le 10^9