#P4650. [COCI 2017/2018 #5] Karte

    ID: 5384 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>2017Special JudgeCOCI(克罗地亚)

[COCI 2017/2018 #5] Karte

题目描述

有NN 张牌叠在一起,第 ii 张牌上,有一个数字 aia_i 表示它下面至少有 aia_i 张牌上的信息是错误的,若它下面确实有至少 aia_i 张牌的信息是错误的,那这张牌的信息就是正确的,否则这张牌的信息就是错误的。(我们认为最下面的牌的后面有 00 张错误的)

现在需要你重新调整牌的顺序,使得正好有 KK 张牌上的信息是错误的。

输入格式

第一行两个正整数 NN 和 KK (1≤N≤5×105,0≤K≤N)( 1 ≤ N≤ 5×10^5,0 ≤ K≤ N )表示牌的张数和要求的错误信息的个数。 接下来 NN 行,每行一个数,表示对应的 aia_i (0≤ai≤5×105)(0 ≤ a_i≤ 5×10^5 )

输出格式

如果调整方案不存在,输出−1-1。否则输出由顶部到底部 NN 张牌对应的 aia_i,若有多种方案,输出任意一种即可。

4 2
1 2 2 3

2 3 1 2
5 3
2 1 3 0 3

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

-1

提示

30%30\%的数据 N≤16N≤ 16。

另有40%40\%的数据 N≤2000N≤ 2000。

样例 2 说明:

第 55 张牌上写的是22,但是其后面只有 00 张错误,所以它是错误的。

第 44 张牌上写的是11,其后面有 11 张错误(第五张),所以它是正确的。

第 33 张牌上写的是00,其后面有 11 张错误(第五张),所以它是正确的。

第 22 张牌上写的是33,但是其后面只有 11 张错误(第五张),所以它是错误的。

第 11 张牌上写的是33,但是其后面只有 22 张错误(第五张,第二张),所以它是错误的。

因此总共有 33 张是错误的。