はまやんはまやんはまやん

hamayanhamayan's blog

Digits Sum [AtCoder Grand Contest 025 A]

https://beta.atcoder.jp/contests/agc025/tasks/agc025_a

解説

https://beta.atcoder.jp/contests/agc025/submissions/2618392

A+B=Nである必要があるため、Aを固定するとBが一意に定まる。
これを利用して、Aを[1,N)の範囲で全探索し、各位の和の合計の最小値を計算する。

int N;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
 
    int ans = inf;
    rep(_a, 1, N) {
        int a = _a;
        int b = N - a;
 
        int sm = 0;
        while (a) sm += a % 10, a /= 10;
        while (b) sm += b % 10, b /= 10;
        chmin(ans, sm);
    }
    cout << ans << endl;
}