ARC 143

https://atcoder.jp/contests/arc143

A. Three Integers

https://atcoder.jp/contests/arc143/tasks/arc143_a

数日かけて自力 AC したが解説読んでもよくわからなかった。

void solve() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    ll A, B, C;
    cin >> A >> B >> C;

    vll v = {A, B, C};
    sort(all(v));

    ll ans = 0;
    if (v[0] < v[1]) {
        ll d = v[1] - v[0];
        ans += d;
        v[1] -= d;
        v[2] -= d;
    }

    if (v[1] < v[2]) {
        ll d = v[2] - v[1];
        ans += d * 2;
        v[0] -= d;
        v[1] -= d;
        v[2] -= d * 2;
    }

    if (v[0] >= 0 && v[0] == v[1] && v[1] == v[2]) {
        ans += v[0];
    } else {
        ans = -1;
    }
    cout << ans << endl;
}

B. Counting Grids

https://atcoder.jp/contests/arc143/tasks/arc143_b

C. Piles of Pebbles

https://atcoder.jp/contests/arc143/tasks/arc143_c

D. Bridges

https://atcoder.jp/contests/arc143/tasks/arc143_d

E. Reversi

https://atcoder.jp/contests/arc143/tasks/arc143_e

F. Counting Subsets

https://atcoder.jp/contests/arc143/tasks/arc143_f