Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

AtCoder Regular Contest 123

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からのメタ読みで、漸化式を作って再帰で解けると予測できます。

で、この予測はあっていたようなのですが、肝心の漸化式が作れなかったので解けていません。(だめじゃん

まとめ

大怪我しなかっただけよしとしますか・・・。

f:id:mdstoy:20210719003442p:plain