ARC 059 C - いっしょ / Be Together
問題概要
省略
解法
はじめは、中央値や平均値などを求めて、その値の前後の値を調べようかと思った。しかし、aの値は-100 <= a <= 100であるので、求める解もこの範囲にあることがわかる。数が少ないので、201個全部調べれば答えが出る。
ミス
なし
コード
#include <iostream> #include <vector> #include <cstdio> #include <cmath> typedef long long ll; using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) int main(void){ int n; cin >> n; vector<int> v(n); rep(i, n) cin >> v[i]; ll sum = 1e9; for (int i = -100; i <= 100 ; ++i){ ll tmp = 0; rep(j, n){ tmp += pow((i - v[j]), 2); } sum = min(tmp, sum); } cout << sum << endl; return 0; }