We prove that for every graph, any vertex subset S, and given integers k,ℓ: there are k disjoint cycles of length at least ℓ that each contain at least one vertex from S, or a vertex set of size O(ℓ·klogk) that meets all such cycles. This generalizes previous results of Fiorini and Herinckx and of Pontecorvi and Wollan.
In addition, we describe an algorithm for our main result that runs in O(klogk·s2·false(f(ℓ)·n+mfalse)) time, where s denotes the cardinality of S.