# Picking the most cost efficient sets

I have two 2D arrays: $$P[n][s]$$ and $$C[n][s]$$, $$s \leq n$$.

P contains sets of nodes and $$C$$ the cost of a set in $$P$$, e.g. the cost of $$P[2][2]$$ is $$C[2][2]$$ and a set $$p \in P = \{ s_0, s_1, …, s_{n-1} \}^q, q \leq n$$, e.g. $$p=\{s_0, s_3\}$$.

For every row I can pick at most one set but in the end the union of the picked sets needs to contain all nodes $$\{s_0, s_1, …, s_{n-1} \}$$.

How do I find the least expensive picks in linear time?