#P3370. Halloween treats
Halloween treats
题目描述
每年万圣节都会遇到同一个问题:每个邻居只愿意在当天给出一定数量的糖果,无论有多少孩子来拜访。因此,如果孩子去得太晚,可能什么都得不到。为了避免冲突,孩子们决定将所有糖果集中起来,然后平均分配。根据往年经验,孩子们知道从每个邻居那里能得到多少糖果。由于他们更关心公平性而非糖果数量,因此希望选择一个邻居子集,使得糖果总数能被孩子数量整除。如果无法让每个孩子至少得到一颗糖果,则输出“no sweets”。
输入格式
输入包含多个测试用例。每个测试用例的第一行包含两个整数 c 和 n(1 ≤ c ≤ n ≤ 100000),分别表示孩子数量和邻居数量。下一行包含 n 个空格分隔的整数 a₁, ..., aₙ(1 ≤ aᵢ ≤ 100000),其中 aᵢ 表示拜访第 i 个邻居能得到的糖果数。
最后一个测试用例后接两个零。
输出格式
对每个测试用例,输出一行选中的邻居索引(索引从1开始)。若不存在满足条件的子集(每个孩子至少得到一颗糖果),则输出“no sweets”。若有多个解,输出任意一个即可。
输入数据示例 1
4 5
1 2 3 7 5
3 6
7 11 2 5 13 17
0 0
输出数据示例 1
3 5
2 3 4
来源
乌尔姆本地赛 2007