An efficient algorithm for task allocation with the budget constraint. (30th December 2022)