Pagini recente » Cod sursa (job #708497) | Cod sursa (job #1414811) | Cod sursa (job #692853) | Cod sursa (job #2533359) | Cod sursa (job #322683)
Cod sursa(job #322683)
#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, maxp, maxi, pas = max = 0;
scanf("%lu", &n);
v = (unsigned long *) malloc( n * sizeof(*v) );
v2 = (unsigned long *) malloc( n * sizeof(*v2) );
for( i = 0; i < n; ++i ){
scanf("%lu", 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("%lu %lu %lu", max, maxi + 1, maxi + maxp + 1);
free( v );
free( v2 );
return 0;
}