きろく

特筆すべき記録のまとめ

AtCoder Beginner Contest 123:D - Cake 123

問題

atcoder.jp

解法

XYZ 通り列挙していては当然間に合わないので,まず XY 通り全て列挙する.この XY 通りのうち,K + 1 番目以降は最終的な答えの K 個の中に入らない(これは実験すると明らか).なので XY 通りをソートし,大きいものから K 個だけを持っておく.この K 個と C を全通り組み合わせて(KZ 通り),大きいものから K 個出力すればよい.O(XY + XY logXY + KZ logKZ).

解答

atcoder.jp

f:id:babcs2035:20190408134806p:plain