The development of cancer is largely driven by the gain or loss of subsets of the genome, promoting uncontrolled growth or disabling defenses against it. Denoising array-based Comparative Genome Hybridization (aCGH) data is an important computational problem central to understanding cancer evolution. In this work we propose a new formulation of the denoising problem which we solve with a "vanilla" dynamic programming algorithm which runs in O(n 2 ) units of time. Then, we propose two approximation techniques. Our first algorithm reduces the problem into a well-studied geometric problem, namely halfspace emptiness queries, and provides an additive approximation to the optimal objective value inÕ(n 4 3 +δ log ( U )) time, where δ is an arbitrarily small positive constant and U = max{..,n } (P = (P 1 , P 2 , . . . , Pn), P i ∈ R, is the vector of the noisy aCGH measurements, C a normalization constant). The second algorithm provides a (1± ) approximation (multiplicative error) and runs in O(n log n/ ) time. The algorithm decomposes the initial problem into a small (logarithmic) number of Monge optimization subproblems which we can solve in linear time using existing techniques.Finally, we validate our model on synthetic and real cancer datasets. Our method consistently achieves superior precision and recall to leading competitors on the data with ground truth. In addition, it finds several novel markers not recorded in the benchmarks but supported in the oncology literature.Availability: Code, datasets and results available from the first author's web page