Let D = (V, A) be a digraph of order n. We define the degree of vertex v in D to be dD(v) = dD(v) + d-D(v), where dD(v) and d-D(v) are the out-degree and in-degree of v in D, respectively. Let k be a positive integer and let W be any given subset of V with | W | \geq 2k. In this paper we show that if dD(x) + dD(y) \geq 3n -3 for all {x, y\} \subseteq W, then for any integer partition | W | = \sumki=1 ni with ni \geq 2 for each i, there are k disjoint cycles containing exactly n1, . . . , nk vertices of W, respectively. The degree condition dD(x) + dD(y) \geq 3n -3 is sharp in some sense and this result confirms the conjecture posed by Wang [J. Graph Theory, 34 (2000), pp. 154--162] as a corollary. The result in this paper implies a theorem on cycle-factors containing matchings in bipartite graphs. Further, the special case W = V is a directed version of the Aigner-Brandt theorem on disjoint cycles in graphs.