2022-01-15 第八回 アルゴリズム実技検定 (PAST) E - カラフルなTシャツを解いた
第八回 アルゴリズム実技検定 (PAST) E - カラフルなTシャツを解いた。
https://atcoder.jp/contests/past202109-open/tasks/past202109_e
色ごとに最も安いもの以外は買う必要がない。価格の安い色を K 種類買えば良い。 K 種類に満たないときは -1 になる。
ぼくは色と価格を Tuple にして価格で昇順にソートして走査し、一度選んだ色は Set に追加して既に選んでいないか、 K 個を超えていないかを確認することで解いた。
ソートと Set への挿入を伴う走査はどちらも O(NlogN)
なので全体としては O(NlogN)
で間に合う。
- 解説: https://atcoder.jp/contests/past202109-open/editorial/2622
- 提出: https://atcoder.jp/contests/past202109-open/submissions/28515268
先に色ごとの最小値を求める方法でも解いてみた。色ごとの最低価格を保持する Map を用意する。価格の昇順で先頭から K 個の合計を求めると良い。 K 種類の色がないときに -1 を返すことを忘れないように注意する。
ABC235 に参加した。 D は冷静にやれば解けそうだった。
今日のコミット。