I have this code
typedef long long int ll;
#define MOD 1000000007
ll t,n,total,answer[2][1025];
int arr[100001];
cin>>n;
for(int i=0;i<n;i++)
cin>>arr[i];
memset(answer,0,sizeof(answer));
memset(arr,0,sizeof(arr[0]*n));
for(int i=1; i<n; i++)
{
for(int j=0; j<=1024; j++)
{
int index1=(i-1)%2;
int index2=j^arr[i];
ll pre1=answer[index1][j]%MOD;
ll pre2=answer[index1][index2]%MOD;
answer[(i%2)][j]=(pre1+pre2)%MOD;
}
}
I am not able to find out why this code is giving RE(SIGSEGV). Can anybody help ?