There is a set J of h jobs to be processed. For every i, job Ji demands ni units of resources and returns ai units after completion. The problem is to find the best K schedules whose resources requirements are minimum among all h! ones. In this paper, we present some important structural properties and then propose an O(h log h + hK log K) time algorithm, which runs in polynomial time if K is fixed.