Codeforces Round#10
……
A Power Consumption Calculation
問題
ノートパソコンの消費電力量を計算したい。
パソコンは操作中はP1ワットの電力を消費する。T1秒間操作をしないとスクリーンセーバが起動し、その状態ではP2ワットの電力を消費する。更にT2秒間操作しないとスリープモードになり、P3ワットの電力を消費する。
各数字と操作している時間のリストが与えられた時、消費電力量を求めよ。
試行錯誤
よし、ふつうに書けばいい。
書いた。あれ?サンプル通らない……T2秒間ってのが操作をやめてからの時間なのかスクリーンセーバが起動してからなのかが問題文からだとよくわからない。。。
どっちもためす。どっちも通らない。
なんだこれw困ったので紙上でシミュレートすることに。
プログラムに途中計算を全部出力させる。
最後にキーボードに触った時間を代入するコートが左辺と右辺を入れ替えて書いていたことに気づくorzorzorz
訂正。Submit.→Accepted.
もうすでに220人以上通してる。今回はダメかもという予感が頭をよぎる。
B Cinema Cashier
問題
k列にそれぞれk個の席があるような映画館の座席をチケットの販売員が次のように決定する(kは奇数)。
- m人の客がチケットを買うとき、m人が同じ列に連続して座れるようにする
- なるべく中心に近い座席(Σ|xi-cx|+|yi-cy|が最小になる)ように座席を割り当てる(ただしcx,cyはもっとも中央の座席)
- 中心への近さが同じような座席の選び方が複数ある場合、x座標がもっとも小さい席に割り当てる
- それでも選び方複数ある場合y座標の最小値がもっとも小さくなるように割り当てる
mのリストが与えられた時に、割り当てる座標のx座標、y座標の最小値、y座標の最大値を出力せよ。その割り当てが不可能な場合-1を出力せよ。
試行錯誤
kは99以下ってことは普通にシミュレートすればいい。
えーとでもマンハッタン距離の和を最小化するって結構面倒だ……
まずは中央から見てって、dx=±1,±2,...の座席を順に見ていけばいい??
がりがり。書く中央に座らせるって計算が厄介だ……
送信。PE.
あ、デバッグコード消してない。修正して送信。
WAorz
その後何度か割り当ての順序を試行錯誤するが頭がまともに方針を考えてくれず、全然正答にいたる気がしない。
気づいたら寝落ち。。。