競プロ精進日記 #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
- No.1081 和の和
実験してみると、数列の各項は二項係数の数だけかけられていることがわかります。
あとは計算していくだけです。
提出したソースコード