2完。35:22。Aの考察に時間かけすぎ・・・。
各問題
A - Arithmetic Sequence
えーと、机上でいろいろ実験したあげく、以下のようなコードになりました。(実はよくわかっていない)
30分かかりました・・・。むしろ一発で通ったのが僥倖ともいえます。
void solve() { ll a, b, c; cin >> a >> b >> c; ll x = b - a; ll y = c - b; if (x == y) { cout << 0 << endl; return; } if (x > y) { cout << x - y << endl; } else { if (abs(x) % 2 == abs(y) % 2) { cout << (y - x) / 2 << endl; } else { cout << (y - x + 1) / 2 + 1 << endl; } } }
B - Increasing Triples
それぞれの配列をソートして、小さい方から貪欲に探していけばよいだけに見えますし、実際それで通ります。えぇ・・・?
C - 1, 2, 3 - Decomposition
Writerからのメタ読みで、漸化式を作って再帰で解けると予測できます。
で、この予測はあっていたようなのですが、肝心の漸化式が作れなかったので解けていません。(だめじゃん
まとめ
大怪我しなかっただけよしとしますか・・・。