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

hamayanhamayan's blog

Collecting Balls (Easy Version) [AtCoder Beginner Contest 074 B]

https://beta.atcoder.jp/contests/abc074/tasks/abc074_b

解法

https://beta.atcoder.jp/contests/abc074/submissions/1604120

各ボールについてタイプAとタイプBのどちらとも使った時の移動距離を考えて、小さい方を足していけば答え。
タイプAを使うとボール回収にX[i]*2、タイプBを使うとボール回収に(K - X[i])*2だけかかる。

//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> K;
    rep(i, 0, N) cin >> X[i];
 
    int ans = 0;
    rep(i, 0, N) ans += min(X[i] * 2, (K - X[i]) * 2);
    cout << ans << endl;
}