同じ奥行き, 幅を持つケーキはカロリーが大きいケーキのみを残す.

\(B_i\) は座標圧縮して \(A_i\) で降順にソートする.

キーを \(B_i\) として合計カロリーを値に持ち, 最大値を返すセグメントツリーを用意する. \(i\) 番目のケーキを使う場合はセグメントツリーの \(B_i\) より大きい範囲の最大値を取得して, その値に \(C_i\) を足した値を \(B_i\) に入れるようにする. このとき, 同じ奥行きのケーキで \(B_i\) が異なる場合に先に見たケーキに影響を受けないように最初のソートは \(A_i\) が同じなら \(B_i\) の昇順となるようにしておく.