#4018. 交换瓷砖

交换瓷砖

题目描述

农夫约翰想用他最近从当地的广场集市上购买的一批正方形瓷砖来改造牛棚的地板。

不幸的是,在购买瓷砖之前,他没有准确测量牛棚的大小,所以现在他需要把他的一部分瓷砖换成不同尺寸的新正方形瓷砖。

约翰之前购买的N块正方形瓷砖的边长为A1A_1​,…,ANA_N​

他想换取一些新的瓷砖,使得他拥有的瓷砖的面积之和等于M。

集市目前提供一项特殊优惠:花费AiBi×AiBi∣A_i​−B_i​∣×∣A_i​−B_i​∣元钱,就可以将边长为AiA_i​的瓷砖换成边长为BiB_i​的新瓷砖。

但是此项交易只适用于先前购买的瓷砖,不能用交换得到的瓷砖进行再次交换(也就是不能先将边长为3的瓷砖换成边长为2的瓷砖,再用此边长为2的瓷砖换成边长为1的瓷砖)。

请确定通过交换瓷砖使得瓷砖总面积等于M所需花费的最小金额。

注意,集市只提供整数边长的瓷砖。

输入格式

第一行包含两个整数N和M。

接下来N行,每行包含一个整数表示AiA_i

输出格式

输出交换瓷砖的最小花费。

如果无法通过交换瓷砖使得瓷砖总面积等于M,则输出−1。

3 6
3
3
1
5

提示

数据范围

1≤N≤10,1≤M≤10000,1≤AiA_i≤100。