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

hamayanhamayan's blog

Rally [AtCoder Beginner Contest 156 C]

https://atcoder.jp/contests/abc156/tasks/abc156_c

解説

https://atcoder.jp/contests/abc156/submissions/10295562

集会を開く座標Pを全探索しよう。
座標Pの最小値が得られそうで、置ける部分は[1,100]になる。
これは、その範囲でのみ集会が行われるからである。
それ以外の部分に置くときは、P=1かP=100に置くことで状況を変えずに同等の状態が作れる。

int N, X[101];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    rep(i, 0, N) cin >> X[i];
    sort(X, X + N);

    int ans = inf;
    rep(P, 1, 101) {
        int tot = 0;
        rep(i, 0, N) tot += (X[i] - P) * (X[i] - P);
        chmin(ans, tot);
    }
    cout << ans << endl;
}