#include<stdio.h>
int main()
{
int test(int*, int);
int arr[] = {0,1,1,1,1};
int length = sizeof(arr)/sizeof(int);
test(arr,length);
return 1;
}
int test(int* arr,int N)
{
int result1 = 0; // store the xor of arr[arr[i]]
int result2 = 0; // store the xor of all numbers
int result3 = 0; // store the xor of all indexes
int count = 0;
int init = arr[0];
if(init==0)
count++;
// checks for special case either 0 is repeated or the first value is repeated
int i;
for(i=1;i<N;i++)
{
if(arr[i]==0)
count++;
else if(arr[i]==init)
count++;
if(count>2)
{
printf("Repeated");
return -1;
}
}
for(i=0;i<N;i++)
{
result1 ^= arr[arr[i]];
result2 ^= arr[i];
result3 ^= i;
}
if((result1==result2) && (result1==result3))
printf("NOT REPEATED");
else
printf("REPEATED");
return 1;
}
I2luY2x1ZGU8c3RkaW8uaD4KaW50IG1haW4oKQp7CiAgICBpbnQgdGVzdChpbnQqLCBpbnQpOwogICAgaW50IGFycltdID0gezAsMSwxLDEsMX07CiAgICBpbnQgbGVuZ3RoID0gc2l6ZW9mKGFycikvc2l6ZW9mKGludCk7CiAgICB0ZXN0KGFycixsZW5ndGgpOwogICAgcmV0dXJuIDE7Cn0KCmludCB0ZXN0KGludCogYXJyLGludCBOKQp7CiAgICBpbnQgcmVzdWx0MSA9IDA7ICAgLy8gc3RvcmUgdGhlIHhvciBvZiBhcnJbYXJyW2ldXSAKICAgIGludCByZXN1bHQyID0gMDsgICAvLyBzdG9yZSB0aGUgeG9yIG9mIGFsbCBudW1iZXJzCiAgICBpbnQgcmVzdWx0MyA9IDA7ICAgLy8gc3RvcmUgdGhlIHhvciBvZiBhbGwgaW5kZXhlcwogICAgCiAgICBpbnQgY291bnQgPSAwOwogICAgaW50IGluaXQgPSBhcnJbMF07CiAgICAKICAgIGlmKGluaXQ9PTApCiAgICBjb3VudCsrOwogICAgCiAgICAvLyBjaGVja3MgZm9yIHNwZWNpYWwgY2FzZSBlaXRoZXIgMCBpcyByZXBlYXRlZCBvciB0aGUgZmlyc3QgdmFsdWUgaXMgcmVwZWF0ZWQgCiAgICBpbnQgaTsKICAgIGZvcihpPTE7aTxOO2krKykKICAgIHsKICAgICAgICBpZihhcnJbaV09PTApCiAgICAgICAgY291bnQrKzsKICAgICAgICBlbHNlIGlmKGFycltpXT09aW5pdCkKICAgICAgICBjb3VudCsrOwoKICAgICAgICBpZihjb3VudD4yKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCJSZXBlYXRlZCIpOwogICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgfQoKICAgIH0KCiAgICBmb3IoaT0wO2k8TjtpKyspCiAgICB7CiAgICAgICAgcmVzdWx0MSBePSBhcnJbYXJyW2ldXTsKICAgICAgICByZXN1bHQyIF49IGFycltpXTsKICAgICAgICByZXN1bHQzIF49IGk7CiAgICB9CiAgICBpZigocmVzdWx0MT09cmVzdWx0MikgJiYgKHJlc3VsdDE9PXJlc3VsdDMpKQogICAgcHJpbnRmKCJOT1QgUkVQRUFURUQiKTsKICAgIGVsc2UKICAgIHByaW50ZigiUkVQRUFURUQiKTsKICAgIHJldHVybiAxOwp9Cg==