競プロ精進日記 #58

精進や復習で解いた問題を載せていきます。

Codeforces #653 (Div. 3)

  • A. Required Remainder
    n を x で割った際の余りが y より大きければ割った際の商に x をかけて y を足したものが答えで、
    それ以外ならば n を x で割った際の商から 1 を引いたものに x をかけて y を足したものが答えです。
    提出したソースコード

  • B. Multiply by 2, divide by 6
    n を 2 と 3 についてのみ素因数分解して、残りが 1 でない場合は -1 です。
    また、3 の個数が 2 の個数よりも少ない場合は -1 です。
    それ以外の場合は 3 の個数に 3 の個数から 2 の個数を引いたものを足した数が答えです。
    提出したソースコード

  • C. Move Brackets
    ( と ) の個数をそれぞれ数え、 ) の個数が ( の個数を超えた場合は ) を一番右に移動したとみなして、答えに 1 を足し、( と ) の数を合わせます。
    提出したソースコード

yukicoder