#A. T1-徐老师的赏月活动券

    传统题 文件IO:ticket 1000ms 256MiB

T1-徐老师的赏月活动券

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

中秋节到了,徐老师的住的小区举办赏月活动,徐老师收到一叠共 (N) 张活动券。每张券上都印着一个活动编号(同一活动可能派发了多张券)。 徐老师只想带不同活动去“打卡”,于是打算把多余的券收起来,留下的券对应的活动编号必须两两不同(每个活动最多留 1 张)。

不过收券有规矩:每次必须正好收起 (K) 张券,可以做任意多次(也可以一次不做)。

请你告诉徐老师:经过若干次操作后,最多能留下多少张互不重复的活动券? 若能留下的“最多数量”的方案不止一种,请输出字典序最小的一组编号(将编号从小到大排列,且尽量保留更小的编号)。

若根本无法做到,请输出 -1

输入格式

共两行:

  • 第一行两个整数 (N, K) —— 券的总数与每次必须收起的张数;
  • 第二行 (N) 个正整数 (A_1,A_2,\dots,A_N) —— 各张活动券的活动编号。

输出格式

  • 若无解,输出一行:-1
  • 否则输出两行: 第一行输出一个整数 (m):能留下的不同活动张数的最大值; 第二行输出按从小到大排列的 (m) 个编号(若 (m=0),该行留空)。

字典序最小:在所有满足条件且大小为 (m) 的编号集合里,选择按升序比较时最“小”的那一个;等价于优先选择更小的编号

输入样例 1

5 3
4 4 5 1 1

输出样例 1

2
1 4

输入样例 2

10 4
1 1 1 2 2 2 2 3 3 3

输出样例 2

2
1 2

数据范围

对于 100%100\% 的数据,1N106 1 \leq N \leq 10^6, 1Ai106 1 \leq A_i \leq 10^6 , 1KN 1 \leq K \leq N

NOI-Linux 25国庆五连测(二)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-10-5 8:00
结束于
2025-10-5 12:00
持续时间
4 小时
主持人
参赛人数
7