Operações bit a bit

Por vezes, precisamos de efetuar operações em pares de números binários. Se tivermos dois números a e b, podemos querer que todos os bits sejam 0, exceto aqueles que são 1 em ambos a e b (isto corresponde a uma operação AND). Em alternativa, podemos querer ter 1 em todas as posições onde a ou b tenham 1 (isto corresponde a uma operação OR).

a

b (OR)

b

a

a ^ b (XOR)
exclusive OR

representações binárias e decimais

representações binárias e decimais

1 se ambos e forem 1, e 0 caso contrário

1 se ou ou forem 1, e 0 caso contrário

1 se os bits forem diferentes e 0 caso contrário

110 (6)

101 (5)

100 (4)

111 (7)

011 (3)

100111 (39)

010100 (20)

100 (4)

110111 (55)

110011 (51)

Desafio

Dado n inteiros, pretende-se encontrar 2 desses números que, ao aplicar-lhes OR, resultem no maior valor possível.

Entrada

A primeira linha da entrada contém um único inteiro n (1 ≤ n ≤ 1000).

A linha seguinte contém n inteiros separados por espaço (1 ≤ ).

Saída

Na saída, deve constar o maior valor possível obtido ao aplicar uma operação OR a 2 valores entre os números fornecidos.

Exemplos

Entrada

Saída

5
1 2 3 4 5

7

Explicação

Podemos obter 7 ao aplicar OR a:

  • 2 (010) e 5 (101) → 7 (111)

  • 3 (011) e 4 (100) → 7 (111)

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue