题目描述
牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬币才能让这四根木棍拼凑出正方形。
输入描述:
输入包括一行,四个整数a,b,c,d(1 ≤ a,b,c,d ≤ 10^6), 以空格分割
输出描述:
输出一个整数,表示牛牛最少需要支付的硬币
题目分析:
可以设要找边长为x,设四个木棍根据长度由小到大为a1,a2,a3,a4。那么可以得到目标函数f(x),显然f(x)越小,就是我们所求。
显然
分类讨论显然有
当然可以用循环来做,不过显然这种方法简单干脆。
list1=[]
for x in input().split(" "):
list1.append(int(x))
list1 = sorted(list1)
result1=list1[3]+list1[2]-list1[1]-list1[0]
print(result1)