n为生物群系个数
x为庇护
危险度为ai
危险度和为S
某一个生物群危险度为Si
Si=(x-i)^2 * ai
Si=aix^2 + aii^2 - 2aix*i
因为ai和i是确定的
因此只需要看aix^2 与 2aixi
sua = a1 + a2 + a3 + ... + an
sub = 1a1 + 2a2 + 3a3 + ... + nan
易得当x = sub / sua(x四舍五)时可使危险度最小
代码如下:
n = int(input())
l = list(map(int, input().split()))
sua = 0
sub = 0
for i in range(n):
sua += l[i]
sub += l[i] * (i+1)
x = sub / sua
xx = round(x)
ss = 0
for i in range(n):
ss += (i + 1 - xx) ** 2 * l[i]
print(ss)