This is about developing a distributed consensus.
Let's assume we have N nodes
( N1, N2, ..., Nn ),
each of the nodes has a different value
( A1, A2, ..., An ).
These nodes can communicate with each other, and replace their value if it's bigger then the other node's value.
For example if I'm N1 when I communicate with N2 and I find A2 < A1, then I will replace my value with A2
I need to find the least number of exchanges so that more than half of the nodes ( > n / 2 ) hold the smallest possible value.
An exchange is a single communication between two nodes that results may result in a change in one of the two involved node's value, if and only if the other one has different and smaller value.