  Given a multiset $S$ of $n$ positive integers and a target integer $t$, the
subset sum problem is to decide if there is a subset of $S$ that sums up to
$t$. We present a new divide-and-conquer algorithm that computes all the
realizable subset sums up to an integer $u$ in
$\widetilde{O}\!\left(\min\{\sqrt{n}u,u^{4/3},\sigma\}\right)$, where $\sigma$
is the sum of all elements in $S$ and $\widetilde{O}$ hides polylogarithmic
factors. This result improves upon the standard dynamic programming algorithm
that runs in $O(nu)$ time. To the best of our knowledge, the new algorithm is
the fastest general algorithm for this problem. We also present a modified
algorithm for cyclic groups, which computes all the realizable subset sums
within the group in $\widetilde{O}\!\left(\min\{\sqrt{n}m,m^{5/4}\}\right)$
time, where $m$ is the order of the group.
