hinamelプログラミングメモ

競技プログラミング・ゲーム制作の備忘録

ABC121 C Energy Drink Collector 解説

問題文

atcoder.jp

Ai円のドリンクがBi本売っているお店がN軒ある。

M本のドリンクをちょうど買うには最低何円必要かを求める。

ただし、全てのお店を回ってもドリンクが足りなくなることはない。

ACコード

atcoder.jp

解説

できるだけ少ないお金でドリンクを買うには、できるだけドリンクが安く売っている店から買い占めていけばいい。

なので、ドリンクを売っているお店を安いお店から順番に並ぶようにソートして、上から買っていくことをシュミレーションすればよい。実装にはpairを使用する。

解いた感想

体感難易度:☆1

オーバーフローにとにかく注意する。intをlong longにするだけでなく、firstなどから得られた値は一度値を別の変数に代入してから使うことで回避できるものもある。