CF1909C Heavy Intervals

题目描述

[Shiki - Pure Ruby](https://soundcloud.com/shiki-8/pure-rubyversoundcloud) ⠀ 你有 $n$ 个区间 $[l_1, r_1], [l_2, r_2], \dots, [l_n, r_n]$,其中对于每个 $i$,都有 $l_i < r_i$,并且所有区间的端点都是互不相同的。 第 $i$ 个区间每单位长度的权值为 $c_i$。因此,第 $i$ 个区间的总权值为 $c_i \cdot (r_i - l_i)$。 你不喜欢大的权值,所以你希望使所有区间的权值和尽可能小。你可以进行以下三种操作: - 任意重排数组 $l$ 中的元素; - 任意重排数组 $r$ 中的元素; - 任意重排数组 $c$ 中的元素。 但是,所有操作完成后,区间仍需合法(即对于每个 $i$,都要满足 $l_i < r_i$)。 在进行操作后,区间权值和的最小可能值是多少?

输入格式

每个测试点包含多组测试用例。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。接下来是每个测试用例的描述。 每个测试用例的第一行包含一个整数 $n$($1 \le n \le 10^5$),表示区间的数量。 第二行包含 $n$ 个整数 $l_1, l_2, \ldots, l_n$($1 \le l_i \le 2 \cdot 10^5$),表示初始区间的左端点。 第三行包含 $n$ 个整数 $r_1, r_2, \ldots, r_n$($l_i < r_i \le 2 \cdot 10^5$),表示初始区间的右端点。 保证 $\{l_1, l_2, \dots, l_n, r_1, r_2, \dots, r_n\}$ 中的所有数互不相同。 第四行包含 $n$ 个整数 $c_1, c_2, \ldots, c_n$($1 \le c_i \le 10^7$),表示每个区间每单位长度的初始权值。 保证所有测试用例中 $n$ 的总和不超过 $10^5$。

输出格式

对于每个测试用例,输出一个整数,表示经过操作后所有区间权值和的最小可能值。

说明/提示

在第一个测试用例中,你可以让 - $l = [8, 3]$; - $r = [23, 12]$; - $c = [100, 100]$。 这样,有两个区间: - 区间 $[8, 23]$,每单位长度权值为 $100$,总权值为 $100 \cdot (23-8) = 1500$; - 区间 $[3, 12]$,每单位长度权值为 $100$,总权值为 $100 \cdot (12-3) = 900$。 权值和为 $2400$。可以证明,没有比 $2400$ 更小的权值和的区间配置。 在第二个测试用例中,你可以让 - $l = [1, 2, 5, 20]$; - $r = [3, 4, 10, 30]$; - $c = [3, 3, 2, 2]$。 这样,有四个区间: - 区间 $[1, 3]$,每单位长度权值为 $3$,总权值为 $3 \cdot (3-1) = 6$; - 区间 $[2, 4]$,每单位长度权值为 $3$,总权值为 $3 \cdot (4-2) = 6$; - 区间 $[5, 10]$,每单位长度权值为 $2$,总权值为 $2 \cdot (10-5) = 10$; - 区间 $[20, 30]$,每单位长度权值为 $2$,总权值为 $2 \cdot (30-20) = 20$。 权值和为 $42$。可以证明,没有比 $42$ 更小的权值和的区间配置。 由 ChatGPT 4.1 翻译