In this HackerEarth Haaaave, you met Ted!? problem solution The Wingman gains the attention of a prospective partner for their friend, by tapping them on the shoulder, and then stating only the line "Haaaaave you met Ted?" (substituting the name of "Ted", the main protagonist of the show, with the name of the single person), and then walking away, leaving the newly acquainted pair to continue a conversation.

Welcome to the world of 2030, where the process has undergone a technical twist. The people now contact only through systems that use unsigned 31-bit passkeys. The entire arrangement is rather simple, to be honest, and the passkeys are just binary representations of unique ids attached to each system.

So, to establish a connection analogous to the random tap on the shoulder, you must join the two ids. This joining takes time equal to the hamming distance (Read the PS) between the passkeys.

Find the minimum time in which any two systems can get connected. All the ids are stored in form of a set S.

S is characterized by the following properties:

The xor operation is closed in the set, i.e. for any a,b belonging to S, their xor, c=a^b also belongs to S
None of the numbers are repeated.


Hackerearth Haaaave you met Ted problem solution


HackerEarth Haaaave you met Ted's problem solution.

tc = int(raw_input())
assert(1<=tc<=3)
while (tc>0):
    tc = tc - 1
    n = int(raw_input())
    assert(1<=n<=100000)
    l = map(int, raw_input().split())
    k, t = len(l),len(set(l))
    assert(k==t)
    ans = 999999
    for i in l:
        assert(i!=0)            
        x = bin(i).count('1')
        ans = min(ans, x)
    print ans