타일 교환하기

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

농부 존은 지역 정사각형 가게(당연히 정사각형 물건만 판다)에서 산 정사각형 타일들로 헛간 바닥을 새로 깔려고 한다. 그런데 사기 전에 헛간 크기를 제대로 재지 않은 탓에, 가지고 있는 타일 중 일부를 크기가 다른 새 정사각형 타일로 교환해야 하는 상황이 되었다.

존이 이미 가지고 있는 정사각형 타일은 모두 $N$개이며, 각 타일의 한 변의 길이는 $A_1, A_2, \dots, A_N$이다. 그는 이 중 일부를 새 정사각형 타일로 교환하여 모든 타일의 넓이의 합이 정확히 $M$이 되도록 하려고 한다. 한 변의 길이가 $A_i$인 타일은 한 변의 길이가 $B_i$인 새 타일로 교환할 수 있으며, 이때 드는 비용은 $|A_i - B_i| \times |A_i - B_i|$이다. 단, 이 교환은 처음에 산 타일에 대해서만 가능하다. 즉, 교환으로 얻은 타일을 다시 다른 타일로 교환할 수는 없다(예를 들어 변의 길이가 3인 타일을 변이 2인 타일로 바꾼 뒤, 그것을 다시 변이 1인 타일로 바꿀 수는 없다).

모든 타일의 넓이의 합이 정확히 $M$이 되도록 만드는 데 필요한 최소 비용을 구하여라. 넓이의 합을 $M$으로 만드는 것이 불가능하면 $-1$을 출력한다.

입력

  • 첫째 줄에 두 정수 $N$과 $M$이 공백으로 구분되어 주어진다 ($1 \le N \le 10$, $1 \le M \le 10000$).
  • 다음 $N$개의 줄에 걸쳐 각 줄마다 정수 $A_i$가 하나씩 주어진다. $A_i$는 $i$번째 정사각형 타일의 한 변의 길이이다 ($1 \le A_i \le 100$).

출력

넓이의 합이 $M$이 되도록 타일을 교환하는 최소 비용을 한 줄에 출력한다. 불가능하면 $-1$을 출력한다.

힌트

첫 번째 예제에는 타일이 3개 있다. 두 개는 한 변의 길이가 3인 정사각형이고 나머지 하나는 한 변의 길이가 1인 정사각형이며, 넓이의 합을 6으로 만드는 것이 목표이다. 변이 3인 정사각형 하나를 변이 1인 정사각형으로 교환하면 비용은 $(3-1)^2 = 4$이고, 다른 하나를 변이 2인 정사각형으로 교환하면 비용은 $(3-2)^2 = 1$이다. 이렇게 하면 넓이의 합은 $1 + 4 + 1 = 6$이 되고 총 비용은 $4 + 1 = 5$가 된다.