#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