For a given graph G = (V, E), edge capacities c(e) for edges e is an element of E, and flow-demands d(v) for nodes v is an element of V, a problem of finding the minimum size source-set S subset of or equal to V such that the maximum flow-amount between S and v is greater than or equal to d(v) for every v is an element of V is called generalized plural cover problem (GPC). For this problem, O(np.s(n, m)) time algorithm is presented, where a, m, and p is the number of nodes, edges, and different values of d(v), respectively, and s(n, m) is the time required to solve the maximum flow problem of a graph with a nodes and m edges. This algorithm also constructs a set of optimal solutions in the same time. This property is convenient for applying it to real problems, because other constraints can also be taken into account.