ABC156C Rally

はじめに

問題

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

方針

  • 全探索を行う
    • 集会の場所をjと仮定して、消費する体力の総和を求める
      • これを考えられる全てのjについて試し、最小値を取れば良い

        ポイント

  • 明らかに、1以上100以下の座標で集会を開くべきである。

コード

1
2
3
4
5
6
7
8
9
N = int(input())
X = list(map(int, input().split()))
costs = [] # 最後に最小値を取りたいので、結果を溜めておくリストを作成
for j in range(1,101):
cost = 0 # 各ループごとに初期化する
for x in X:
cost += (x-j)**2 # i番目の人が座標jで集会に参加するコストを、costに足しこむ
costs.append(cost) # リストに追加
print (min(costs)) # 最小値を出力