I was going through the best solution of problem MAXCOUNT and found few lines which i didn't understand.
Codechef Problem and the Best Solution submitted
While I was reading the code to observe the approach, I encountered these lines at the top of code:
#define isSet(n) flags[n>>5]&(1<<(n&31))
#define unset(n) flags[n>>5] &= ~(1<<(n&31))
#define set(n) flags[n>>5]|=(1<<(n&31))
I have no idea what is the significance of using these lines.
Can anyone please explain these lines and why are they used?