loj#P3017. 「COCI 2014.12」STANOVI

「COCI 2014.12」STANOVI

题目描述

译自 COCI 2014/2015 Contest #4 T6「STANOVI

Stanko 的工作是某 996 建筑公司的苦逼工程师。
最近他接到一个任务:为一栋位于 Zagreb 的建筑物制定平面图。

他必须确定一种用墙来把划分建筑物划分成若干个公寓的方法,使得每个公寓呈矩形。
每块墙必须平行于建筑物的某个侧面。
更准确地,整块地板在平面图上表示为一个 N×MN \times M 的矩形,其中每个公寓都是较小的矩形,大小为 a×ba \times b
其中 a,ba,b 都为整数。

此外,所有公寓都必须完全覆盖建筑物,公寓之间不能相交,但是可以有公共边。
且每个公寓必须碰到建筑物的边缘。

同时,每个公寓有一个期望面积 KKa×ba \times b 的公寓与期望的偏差值定义为 (abK)2(a \cdot b - K)^2
制定的平面图的偏差为所有公寓的偏差之和。

Stanko 想要制定一张偏差值最小的平面图。
请您帮助他写一个程序来确定可能的最小偏差。

左图为对应第一个样例的一个合法划分;
右图为一个无效的划分,因为有些公寓的尺寸非整数且有一个公寓没有靠着边缘。

输入格式

一行,三个整数 N,M,KN,M,K

输出格式

一行,可能存在的最小偏差。

3 3 2
1
2 2 2
0
2 3 4
2

数据范围与提示

1N,M300,1K100001 \le N,M \le 300,1 \le K \le 10\,000