We are presenting an algorithm for scheduling users in a single-cell broadcast scenario. The presented algorithm aims to minimize the number of transmissions that are necessary to serve all the users in the cell a single time, while the different users still fulfill a strict SINR constraint. Depending on the individual channel characteristics, the algorithm adapts the number of users scheduled for transmission on the fly, and dynamically allocates the transmit power to the scheduled users. A high-performance and a low-complexity variant of the algorithm are presented and their performance is evaluated through simulations.