The link for the problem PROBLEM
In this problem i found the XOR value of the (m+1)th player and each of the players m players from (1 to m) ,and found the number of 1's in the
binary form of the XOR output value.if the number of 1's are less than K then i incremented the counter.
but the approach is giving me wrong answer!
any suggestions to approach??
OR
Can anyone post a link or explain me an efficient way to convert a number from decimal to binary using bitmasks!!
Remember that up to k different types of soldiers are allowed, so also if the number of ones is k increment the counter.
I did as mentioned but couldn't get the output?
Can you add a link to your submission?
Submission
I am getting TLE for the solution , I am thinking it is due to the large number of decimal to binary conversions involving in it , do have any efficient way to solve it !
Your array has 101 elements and m is 1000.
I was going to say exactly what Neko29 said. You can also try using this method to count the number of 1 bits:
unsigned int countSetBits(unsigned int n) { unsigned int count = 0; while(n) { count += n & 1; n >>= 1; } return count; }
Also you can use __builtin_popcount(x) for counting number of 1 bits.
Check out this Code if you still need help.