Achieving multiuser diversity under hard fairness constraints