/* ID: mytbk921 LANG: C TASK: skidesign */ #include #include #include int compare(const void *a, const void *b) { return *(int*)a - *(int*)b; } int calc_sum(int min, int N, int a[]) { int sum = 0; int i; for (i = 0; i < N && a[i] < min; i++) { int diff = min - a[i]; sum += diff * diff; } for (i = N-1; i >= 0 && a[i] - min > 17; i--) { int diff = a[i] - min - 17; sum += diff * diff; } return sum; } int main() { FILE *fin, *fout; int N; int m[1000]; int sum, ans; int i; fin = fopen("skidesign.in", "r"); fout = fopen("skidesign.out", "w"); fscanf(fin, "%d", &N); for (i = 0; i 0; i--) { sum = calc_sum(m[0]+i, N, m); if (sum < ans) ans = sum; } fprintf(fout, "%d\n", ans); fclose(fout); return 0; }