Let us assume that we know the polynomial algorithm for the subset sum decision problem. It return YES (when there is some sub-set summing up to $k$) or NO (when it subset does not exist).
How can we most efficiently build an algorithm based on such an algorithm that will return a subset that adds up to $k$?
What is the complexity of such an algorithm?
Intuitively, it seems possible.
Suppose we already know that $S$ has a subset that adds up to $k$.
Pick an element $n \in S$ and ask whether $S \setminus \{n\}$ has the desired property. If so, return a subset of $S \setminus \{n\}$ that adds up to $k$; otherwise $n$ is an essential element of the solution. Return the union of $\{n\}$ and a subset of $S \setminus \{n\}$ that adds up to $k-n$ (which is guaranteed to exist).
The oracle is called at most $|S|$ times.