Pagini recente » Cod sursa (job #2403406) | Cod sursa (job #2104658) | Cod sursa (job #457781) | Cod sursa (job #2513952) | Cod sursa (job #322682)
Cod sursa(job #322682)
#include <stdio.h>
#include <stdlib.h>
int main()
{
freopen("xormax.in", "r", stdin);
freopen("xormax.out", "w", stdout);
unsigned long n, i, *v, *v2, max = 0, maxp, maxi, pas = 0;
scanf("%ld", &n);
v = (unsigned long *) malloc( n * sizeof(*v) );
v2 = (unsigned long *) malloc( n * sizeof(*v2) );
for( i = 0; i < n; ++i ){
scanf("%ld", v + i);
v2[i] = v[i];
if( v2[i] > max)
max = v2[i], maxp = pas, maxi = i;
}
for( pas = 1; pas < n; ++pas ){
for( i = 0; i < n - pas; ++i){
v2[i] ^= v[i + pas];
if( v2[i] > max)
max = v2[i], maxp = pas, maxi = i;
}
}
printf("%ld %ld %ld", max, v[maxi], v[maxi + maxp]);
free( v );
free( v2 );
return 0;
}