演算法高階指南 104 貨倉選址 中位數

2021-09-25 04:03:27 字數 618 閱讀 8043

在一條數軸上有 nn 家商店,它們的座標分別為 a1a1~anan。

現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。

為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。

輸入格式

第一行輸入整數n。

第二行n個整數a1a1~anan。

輸出格式

輸出乙個整數,表示距離之和的最小值。

資料範圍

1≤n≤1000001≤n≤100000

輸入樣例:

4

6 2 9 1

輸出樣例:

12
簡單求中位數

n=input()

n=int(n)

a=[int(i) for i in input().split()]

pos=int((n)/2)

ans=0

a.sort()

for i in range(0,n):

ans+=abs(a[i]-a[pos])

print(ans)

《演算法競賽高階指南》排序 貨倉選址

在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。第一行輸入整數n。第二行n個整數a1 an。輸出乙個整數,表示距離之和的最小值。1 n 10000...

《演算法競賽高階指南》排序 貨倉選址

在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。第一行輸入整數n。第二行n個整數a1 an。輸出乙個整數,表示距離之和的最小值。1 n 10000...

演算法競賽高階指南 位運算

四種基本操作 與 或 非 異或 補碼 int 32位,最高位0代表為整數,最高位為1代表負數。x 00000000000000000000 32個0 就是x的補碼。x 1初始化 memset f,0x3f,sizeof f 每個位元組為0x3f,那麼每個int的數為4個位元組,就是0x3f3f3f3...