#1601. USACO 2011 年 11 月比赛 银奖组 Tile Exchanging

USACO 2011 年 11 月比赛 银奖组 Tile Exchanging

题目描述

农民约翰想用他最近从 Square Mart 购买的方形瓷砖铺满谷仓。不幸的是,他忘了提前测量,现在只能通过交换部分瓷砖来获得恰好面积为 M 的瓷砖总和。

  • 已购买的瓷砖:共 N 块,第 i 块边长为 AiA_i,面积为 Ai2A_i^2
  • 交换规则:
    1. 只能把已有的瓷砖一次性换成新瓷砖,且 不允许连锁交换(即换过一次后不能再换)。
    2. 把边长 AiA_i 换成 BiB_i 的花费为 (AiBi)2(A_i - B_i)^2
  • 目标:经过若干次交换,使得 瓷砖总面积恰为 M,且花费最小。
    若无法达到 M,输出 1-1

输入格式

  • 第 1 行:两个空格分隔的整数 N MN\ M1N101 \le N \le 101M100001 \le M \le 10\,000)。
  • 2N+12 \dots N+1 行:每行一个整数 AiA_i1Ai1001 \le A_i \le 100),表示原始瓷砖边长。

输出格式

  • 第 1 行:一个整数,表示达到总面积 MM 的最小交换花费;若不可能,输出 1-1

样例

样例输入

3 6
3
3
1

样例输出

5

样例解释

原始面积:32+32+12=193^2+3^2+1^2 = 19

  • 将一块 3×3 换成 2×2,面积变为 4+9+1=144+9+1=14,花费 (32)2=1(3-2)^2=1
  • 再将另一块 3×3 换成 1×1,面积变为 4+1+1=64+1+1=6,花费 (31)2=4(3-1)^2=4
    总花费 1+4=51+4=5,恰好面积为 66。故输出 55

数据范围与提示

  • 1N101 \le N \le 10
  • 1M100001 \le M \le 10\,000
  • 1Ai1001 \le A_i \le 100