Bitweise Operationen

Manchmal ist es erforderlich, Operationen auf Paaren von Binärzahlen durchzuführen. Wenn wir beispielsweise zwei Zahlen a und b haben, möchten wir vielleicht alle Bits auf 0 setzen, bis auf diejenigen, die sowohl in a als auch in b den Wert 1 haben (entspricht einer AND-Operation). Oder wir möchten alle Bits auf 1 setzen, an denen entweder a oder b eine 1 hat (entspricht einer OR-Operation).

exklusives OR

a

b (OR)

a

a ^ b (XOR)

binäre und dezimale Darstellungen

binäre und dezimale Darstellungen

1, wenn sowohl als auch eine 1 haben, sonst 0

1, wenn entweder oder eine 1 haben, sonst 0

1, wenn sich die Bits unterscheiden, sonst 0

110 (6)

101 (5)

100 (4)

111 (7)

011 (3)

100111 (39)

010100 (20)

100 (4)

110111 (55)

110011 (51)

Herausforderung

Gegeben sind n ganze Zahlen. Du sollst zwei dieser Zahlen finden, deren OR den größten möglichen Wert ergibt.

Eingabe

Die erste Zeile der Eingabe enthält eine einzelne ganze Zahl n (1 ≤ n ≤ 1000).

Die nächste Zeile enthält n durch Leerzeichen getrennte ganze Zahlen (1 ≤ ).

Ausgabe

Die Ausgabe soll den größten Wert enthalten, der sich durch Anwenden einer OR-Operation auf zwei der gegebenen Zahlen erreichen lässt.

Beispiele

Eingabe

Ausgabe

5
1 2 3 4 5

7

Erklärung

Wir können 7 erhalten, indem wir OR auf folgende Paare anwenden:

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

  • 3 (011) und 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