答案不唯一
#include<bits/stdc++.h>
using namespace std;
int p[100001];
int pre[100001];//前n位同事捐款总额
int r[100001];// 记录当对n取模值不为0时的数值
void print(int a, int b){
int num= b -a +1;
cout<<num<<'\n';
for(int i= a;i<=b;i++)
{
cout<<i<<" ";
}
cout<<'\n';
}
int main(){
int n,i;
cin>>n;
for( i = 1;i<=n;i++)
{
cin>>p[i];
}
memset(r,0,sizeof(r));
memset(pre,0,sizeof(pre));
for( i =1;i<n;i++)
{
pre[i]=pre[i-1]+p[i];
if(pre[i]%n == 0)
{
print(1,i);
break;
}
if(r[pre[i]%n] == 0)
{
r[pre[i]%n] = i;
}
else
{
print(r[pre[i]%n]+1,i);
break;
}
}
if(i==n){
cout<<"Sadly"<<'\n';
}
return 0;
}