A primal-dual approximation algorithm for the k-prize-collecting minimum vertex cover problem with submodular penalties