/* Use the slash-star style comments or the system won't see your
identification information */
/*
ID: lincans1
LANG: JAVA
TASK: skidesign
*/
import java.io.*;
import java.util.*;
public class skidesign {
public skidesign() throws IOException {
// Use BufferedReader rather than RandomAccessFile; it's much faster
BufferedReader f = new BufferedReader(new FileReader("skidesign.in"));
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("skidesign.out")));
int N = Integer.parseInt(f.readLine());
int[] hills = new int[N];
for (int i = 0; i < N; i++) {
hills[i] = Integer.parseInt(f.readLine());
}
// search every interval [0, 17] [1, 18] ... [83, 100]
int ans = Integer.MAX_VALUE;
for (int left = 0, right = 17; right <= 100; left++, right++) {
int temp_ans = 0;
for (int hill : hills) {
if (hill < left) {
temp_ans += (left - hill) * (left - hill);
}
if (hill > right) {
temp_ans += (hill - right) * (hill - right);
}
}
ans = Math.min(ans, temp_ans);
}
out.println(ans);
out.close();
}
public static void main (String [] args) throws IOException {
new skidesign();
}
}
05-12
425