Codeforces Round #497 (Div. 2)
3完/5問でした
Rate:1434→1408
毎回完答数増えてるのにレート減っていくのなんで?
A問題
題材がローマ字と日本人に優しい設定。1文字ずつ隣の文字を確認してルールに当てはまっているかどうか確認すればいいだけ。
B問題
長方形を回転させて降順にできるかどうか判定する問題。できる限り長い辺を縦にするように並べていって、2辺とも前の高さよりも長い長方形がなければYES、そうでなければNO。
C問題
数列を並べ替えて元あった数よりも並べ替えた後に大きくなった数の個数を最大化する問題。辞書型で数の個数をカウントしておき、ある数に最も近いある数よりも大きい数で置き換えていくことで最大値が求まる。置き換えた数は置き換えた個数だけ辞書の値を更新していくとわかりやすい。
ex)
a = [10,1,1,1,5,5,3]
dict = {1:3,3:1,5:2,10:1}
↓ 1を置き換え
dict = {1:3,3:0,5:0,10:1}
↓ 3を置き換え
dict = {1:3,3:0,5:0,10:0} max(a)の値が0になったら終了