Pagini recente » Cod sursa (job #2323253) | Cod sursa (job #349734) | Cod sursa (job #1598362) | Cod sursa (job #903816) | Cod sursa (job #322680)
Cod sursa(job #322680)
#include <stdio.h>
#include <stdlib.h>
int main()
{
freopen("xormax.in", "r", stdin);
freopen("xormax.out", "w", stdout);
int n, i;
unsigned long *v, *v2;//vectorul original si vectorul auxilira
unsigned long max, maxp, maxi, pas = 0;
scanf("%d", &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;
}