题目描述
元素平衡
《XX魔法书》中记载,只有魔法师体内地火水风四种元素平衡的时候才是绝对安全的。某魔法师在给自己做了一个体检, 发现自己体内的四种元素数量分别是A,B,C,D,魔法师慌了,这时他看到魔法书中记载了一种转换魔法, 可以把任意两个单位的元素转换成任意一种元素。
请问魔法师是否可以通过这种魔法,在保证自己体内的元素总量尽可能多的情况下, 使得自己体内的四种元素数量完全相同?如果可以,请输出平衡后体内元素总量,如果不能请输出-1。
限制条件
时间限制:3000ms
内存限制:589824kb
输入描述
输入仅包含一行,仅包含4个正整数A,B,C,D,分别表示四种元素的数量。
(1<=A,B,C,D<=10^17)
输出描述
输出仅包含一个整数,如题所示。
样例输入
1 2 2 4
样例输出
8
思路说明
通过读题,我们可以判断ABCD四个数,最终应该变成相等的数X。
首先,X一定是在max{ABCD}到min{ABCD}之间的,且以X为分界,高于它的数在转换的过程中是减少的,低于它的数是增加的。也就是说,ABCD可以分为两个部分,一部分增加,一部分减少。如果我们确定了增加和减少的数是哪些,那也就可以推导出X。
由于转换是2换1,那么元素减少的数dec减去的部分sum(dec(i)-X)
是元素增加的数add增加sum(X-add(i))
的两倍,即下面这个公式:
s u m ( d e c ) − s i z e o f ( d e c ) ∗ X = 2 ∗ ( s i z e o f ( a d d ) ∗ X − s u m ( a d d ) ) sum(dec)-sizeof(dec)*X=2*(sizeof(add)*X-sum(add)) sum(dec)−sizeof(dec)∗X=2∗(sizeof(add)∗X−sum(add))
然后,推导得到X为
X = s u m ( d e c ) + 2 ∗ s u m ( a d d ) s i z e o f ( d e c ) + 2 ∗ s i z e o f ( a d d ) . . . . . . . . ( 1 ) X=\frac{sum(dec)+2*sum(add)}{sizeof(dec)+2*sizeof(add)} ........(1) X=sizeof(dec)+2∗si