#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include using namespace std; int b; int n; vector v; long long int f(long long int a){ long long int r = 0; for (int i = 0; i < v.size(); i++){ r += abs(v[i] - a); } return r; } int main(){ scanf("%d", &b); scanf("%d", &n); long long int mint = 0; long long int maxt = 0; for (int i = 0; i < n; i++){ int a; scanf("%d", &a); v.push_back(a); maxt += a; } maxt += (long long int)(b); maxt /= (long long int)(n); while (mint + 2LL < maxt){ long long int len = maxt - mint + 1LL; len /= 3; long long int mid = mint + len; long long int mid1 = mid + len; long long int v = f(mid); long long int vv = f(mid1); if (v > vv){ mint = mid; } else{ maxt =mid1; } } long long int ans = LLONG_MAX; for (long long int i = mint; i <= maxt; i++){ ans = min(ans, f(i)); } printf("%lld\n", ans); return 0; }