Operazioni bitwise

A volte è necessario eseguire operazioni su coppie di numeri binari. Se abbiamo due numeri a e b, potremmo voler avere tutte le cifre impostate a 0 tranne quelle impostate a 1 in entrambi (a e b): questa è l’operazione AND. In altri casi, potremmo voler avere tutte le cifre impostate a 1 nelle posizioni in cui a o b presentano un 1: questa è l’operazione OR.

a

b (OR)

b

a

a ^ b (XOR)
exclusive OR

rappresentazioni binarie e decimali

rappresentazioni binarie e decimali

1 se entrambi e sono 1 e 0 altrimenti

1 se o sono 1 e 0 altrimenti

1 se i bit sono diversi e 0 altrimenti

110 (6)

101 (5)

100 (4)

111 (7)

011 (3)

100111 (39)

010100 (20)

100 (4)

110111 (55)

110011 (51)

Sfida

Dati n interi, ti viene richiesto di trovarne due che, dopo aver applicato l’operazione OR, diano come risultato il valore più grande possibile.

Input

La prima riga dell’input contiene un singolo intero n (1 ≤ n ≤ 1000).

La riga successiva contiene n interi separati da uno spazio, (1 ≤ ).

Output

L’output deve contenere il valore massimo ottenibile applicando l’operazione OR tra 2 dei numeri forniti.

Esempi

Ingresso

Uscita

5
1 2 3 4 5

7

Spiegazione

Possiamo ottenere 7 applicando l’OR tra:

  • 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