#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int sum[100001],neighbor[100001],hash[100001];
int main()
{
int c,n,flag;
int i,j;
int x;
while(1)
{
flag = 0;
//memset(sum,0,sizeof(sum));
sum[0] = 0;
memset(hash,0,sizeof(hash));
scanf("%d %d",&c,&n);
if (c==0&&n==0)
break;
for (i=1;i<=n;i++)
{
scanf("%d",&neighbor[i]);
sum[i] = (sum[i-1] + neighbor[i]%c)%c;
}
for (i=1;i<=n;i++)
{
if (sum[i]==0)
{
for (j=1;j<i;j++)
printf("%d ",j);
printf("%d\n",j);
flag = 1;
break;
}
}
if (!flag)
{
for (i=1;i<=n;i++)
{
if (hash[sum[i]]!=0)
{
for (j=hash[sum[i]]+1;j<i;j++)
printf("%d ",j);
printf("%d\n",j);
flag = 1;
break;
}
else
hash[sum[i]] = i;
}
}
if (!flag)
printf("no sweets\n");
}
return 0;
}
鸽巢原理 poj 3370