#P12938. [NERC 2019] Elections

[NERC 2019] Elections

Description

Byteland 参议院选举即将到来。通常情况下,执政党“联合 Byteland”会占据参议院所有席位以确保稳定和可持续发展。但今年有一个选区出现了一名反对派候选人。即使只有一名反对派成员也可能扰乱参议院的稳定,因此党首要求你确保这名反对派候选人不会当选。

共有 nn 名候选人,编号从 1 到 nn。候选人 nn 是反对派候选人。该选区有 mm 个投票站,编号从 1 到 mm。你已知每个投票站中每位候选人的得票数。为了防止反对派候选人当选,你唯一能做的就是取消部分投票站的选举结果。如果反对派候选人在所有未被取消的投票站中获得的总票数严格大于其他每位候选人的总票数,则该候选人将当选。

你的任务是通过取消尽可能少数量的投票站的选举结果,阻止反对派候选人当选。注意,解决方案一定存在,因为如果取消所有投票站的选举结果,每位候选人的得票数将为 0,反对派候选人将不会当选。

Input Format

输入的第一行包含两个整数 nnmm2n1002 \le n \le 1001m1001 \le m \le 100)——候选人数量和投票站数量。接下来的 mm 行包含每个投票站的选举结果,每行有 nn 个数字。第 ii 行的第 jj 个数字是 ai,ja_{i,j}——投票站 ii 中候选人 jj 的得票数(0ai,j10000 \le a_{i,j} \le 1\,000)。

Output Format

第一行输出整数 kk——需要取消选举结果的投票站的最小数量。第二行输出 kk 个整数——被取消的投票站的编号,顺序任意。如果有多种取消 kk 个投票站的方案,输出其中任意一种即可。

5 3
6 3 4 2 8
3 7 5 6 7
5 2 4 7 9
2
3 1
2 1
1 1
0
3 3
2 3 8
4 2 9
3 1 7
3
1 2 3

Hint

在第一个示例中,编号 1 至 5 的候选人分别获得了 14、12、13、15 和 24 票。反对派候选人的票数最多。然而,如果取消第一个和第三个投票站的选举结果,则仅保留第二个投票站的结果,此时总票数变为 3、7、5、6 和 7,反对派候选人不再领先。

翻译由 DeepSeek V3 完成