Cod sursa(job #1585669)
| Utilizator | Data | 31 ianuarie 2016 12:34:01 | |
|---|---|---|---|
| Problema | Xor Max | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <stdio.h>
int main(){
int n, x, akt_fst, akt_lst, akt_max, fst, lst, max = -1;
freopen("xormax.in","r",stdin);
freopen("xormax.out","w",stdout);
scanf("%d",&n);
scanf("%d",&x);
akt_fst = 1;
akt_lst = 1;
akt_max = x;
for(int i = 2; i <= n; ++i){
scanf("%d",&x);
if( (x ^ akt_max) > x){
akt_lst = i;
akt_max ^= x;
}
else{
akt_fst = akt_lst = i;
akt_max = x;
}
if(akt_max > max){
fst = akt_fst;
lst = akt_lst;
max = akt_max;
}
}
printf("%d %d %d\n",max, fst, lst);
return 0;
}
