BootCamp Brown(つづき)
前回やったバチャ,BootCamp Brownで残した問題があったのでやりました.
3 - Ice Tea Store
必要な金額を最小化したいので,リットルを買う最適な方法を探します.()
リットルサイズの値段と,リットルサイズつ分の値段を比べます.
もし,がより小さいなら,をで置き換えても差し支えありません.
なぜならこれは同じリットルという量をより安く買うことを意味し,また在庫は無限にあるからです.
また,購入するボトルの個数を聞かれてるわけではないので,をで置き換えたことで購入したボトルがつ分増える,とかは考えなくてOKです.
の順で置き換えていかなければいけないことに注意します.
具体的に1つやってみると,
もしならば,とします.
でも同様の操作をします.
購入する金額は最適化できたので,あとは実際にボトルの容量が大きい物から買えるだけ買っていきます.(省略)
5 - Modulo Summation
これは気づけばとても簡単な問題です.(気づかんけど)
結論から言うと,各について,を全て足したものが答えです.
上手くを選んだとき, mod が最大になるのは,のときです.
言い換えると,と互いに素である以下の整数のうち最大のものです.
これを任意ので考えるとは,の全てと互いに素であり,を超えない整数のうち最大のものを考えればよいです.
つまり, lcm です.(lcmは最小公倍数)
このに対してを計算すると,です.
ちなみに,は求めなくてもいいです.(というかデカすぎてオーバーフロウするかも?)