SRM512
社会人になって初めて平日深夜SRMへと突撃してみた、記念すべき512回目のSRM。
- -
256. MysteriousRestaurant
問題:曜日ごとに特定のメニューを注文しなきゃいけないレストランで、最大で何日めまで食事できるか求める問題
- i日目まで食事してみると決め打ちする
- 各曜日で期間内の金額が一番安いメニューを貪欲に選ぶ
- その合計が所持金以下ならi日目まで食事はできる
- というのを、n日食べる→n-1日食べる→… と調べていく感じ
- 書いたらサンプル通ったので提出、通った
512. SubFibonacci
問題:数字の集合Sから、昇順に数字を取り出してフィボナッチ列の部分列を2つつなげた形にするとき、取り出せる数字の最大数を求める
- 困ったときは全探索から考えるのが私のジャスティス
- まぁ、きっと2つくらい数字決めればフィボナッチ列特定できるよね
- Sの要素をソートしておいて
- 0〜i番目の要素で作れる最大数 + i+1番目〜n-1番目の要素で作れる最大数
- 各範囲で2つ数字を取り出して、決めたフィボナッチ内に含まれる数を求める
- これ各iについて求めていき、その最大値をとれば答え
- 0〜i番目の要素で作れる最大数 + i+1番目〜n-1番目の要素で作れる最大数
- いけそうな気がする。書いたらサンプル通った。
- 提出する前にS = {1, 2, ..., 50} を試してみる
- 時間は余裕だけど、答えが11ってホントか…?
- [47, (1), 48, 49, ]みたいな取り方が可能なことに20分くらいかけて気付いた
- 大丈夫そうな気がしたので提出、通った
Challenge Phase
- 512で明らかに嘘っぽい人がいたので、美味しく頂いた
- {9999, 10000, 10001, 10002, 10003, 10004}で4と返す人がいました^p^
- -
結果:AC / AC / -- ,+50, 522.63pt, 31位
レーティング:2234 -> 2314
懐かしき2桁順位により、レーティングがだいぶ上がりました。
512で書きあげてから20分くらい悩んでたのが残念な気もしますが、
まぁ落とすよりは良かったという事で…。