#P14904. [NHSPC 2024] 計程車叫車問題

[NHSPC 2024] 計程車叫車問題

题目描述

你是某計程車公司老闆,擁有 mm 台計程車。這些計程車都在 xx 軸上,位置分別是 t1,t2,t3,,tmt_1, t_2, t_3, \ldots,t_m。同時,你接到 mm 名路人的搭車請求,這 mm 名路人也在 xx 軸上,位置分別是 p1,p2,p3,,pmp_1, p_2, p_3, \ldots, p_m。我們假設上述 2m2m 個座標均相異。你的任務是為每一位路人指派一台計程車,且每台計程車只能指派給一位路人。你的目標是最小化這 mm 台計程車到其指派路人的距離總和(稱此距離總和為叫車距離總和)。你的程式必須輸出最小叫車距離總和。

舉例來說,如果你有 22 台計程車(m=2m=2),位置分別在 10010011t1=100,t2=1t_1=100, t_2=1),而 22 名路人位置分別在 33101101p1=3,p2=101p_1=3, p_2=101),則最小叫車距離總和為 100101+13=3|100-101|+|1-3|=3

下圖顯示另一個例子。在這個例子中有55台計程車(m=5m=5),位置分別在 3,2,1,5,43, 2, 1, 5, 4t1=3,t2=2,t3=1,t4=5,t5=4t_1=3, t_2=2, t_3=1, t_4=5, t_5=4),而 55 名路人位置分別在 8,6,10,9,78, 6, 10, 9, 7p1=8,p2=6,p3=10,p4=9,p5=7p_1=8, p_2=6, p_3=10, p_4=9, p_5=7),則最小叫車距離總和為 2525(下圖所顯示的計程車指派方式之叫車距離總和即為 2525)。

:::align{centered} :::

输入格式

$$\begin{aligned} &m \\ &t_1 \ t_2 \ \ldots \ t_m \\ &p_1 \ p_2 \ \ldots \ p_m \end{aligned}$$
  • mm 代表路人及計程車的數量。
  • tit_i 代表第 ii 輛計程車的位置。
  • pip_i 代表第 ii 個路人的位置。

输出格式

aa
  • aa 代表給定輸入的最小叫車距離總和。
5
3 2 1 5 4
8 6 10 9 7
25
5
10 70 30 90 50
71 31 51 91 11
5

提示

測資限制

  • 1m1061 \leq m \leq 10^6
  • 1ti2×1061 \leq t_i \leq 2 \times 10^6
  • 1pi2×1061 \leq p_i \leq 2 \times 10^6
  • 保證給定的 2m2m 個座標均相異。

評分說明

本題共有兩組子任務,條件限制如下所示。 每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。

子任務 分數 額外輸入限制
1 40 maxi{ti}<mini{pi}\max_i\{t_i\} < \min_i\{p_i\}
2 60 無額外限制。