एल्गोरिदम और डेटा संरचनाएँ

Bitwise operations

कभी-कभी हमें द्विआधारी संख्याओं के जोड़ों पर क्रियाएं करने की आवश्यकता होती है। यदि हमारे पास दो संख्याएँ a और b हैं, तो यह संभव है कि हम उन सभी बिटों को 0 रखना चाहें, सिवाय उन बिटों के जो a और b दोनों में 1 हों (यह AND ऑपरेशन से मेल खाता है)। दूसरी ओर, हम यह भी चाह सकते हैं कि उन सभी पोज़ीशनों पर 1 हो जहाँ a या b में से किसी एक का बिट 1 हो (यह OR ऑपरेशन से मेल खाता है)।

a

b

a & b (AND)

a | b (OR)

a ^ b (XOR)
exclusive OR

द्विआधारी और दशमलव अभिव्यक्तियाँ

द्विआधारी और दशमलव अभिव्यक्तियाँ

यदि दोनों और का बिट 1 हो, तो 1, अन्यथा 0

यदि या में से किसी एक का बिट 1 हो, तो 1, अन्यथा 0

यदि बिट अलग हों तो 1, अन्यथा 0

110 (6)

101 (5)

100 (4)

111 (7)

011 (3)

100111 (39)

010100 (20)

100 (4)

110111 (55)

110011 (51)

Challenge

दिए गए n पूर्णांकों में से दो ऐसे पूर्णांक ढूँढें, जिन पर OR ऑपरेशन करने से सबसे बड़ा मान प्राप्त हो।

Input

इनपुट की पहली पंक्ति में एक अकेला पूर्णांक n (1 ≤ n ≤ 1000) होगा।

अगली पंक्ति में n अंतराल-प्रगथित (space-separated) पूर्णांक (1 ≤ ) दिए होंगे।

Output

आउटपुट में वह अधिकतम मान प्रदर्शित करें जो दो संख्याओं पर OR ऑपरेशन करने से प्राप्त किया जा सकता है।

Examples

इनपुट

आउटपुट

5
1 2 3 4 5

7

Explanation

हम 7 इस प्रकार प्राप्त कर सकते हैं:

  • 2 (010) और 5 (101) → 7 (111)

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