#PX0010. 带权中位数

带权中位数

题目描述

数轴上有 nn 个整数位置 p1,p2,,pnp_1,p_2,\dots,p_n ,第 ii 个位置上有 aia_i 个人。现在,你需要从这 nn 个位置中选定一个,使得所有人移动到这个位置的距离之和最小。

在本题中,我们认为两个位置之间的距离为 pipj|p_i - p_j| ,即两个位置坐标相减的绝对值。

输入格式

第一行输入一个整数 n(1n2×105)n \left( 1\leq n \leq 2 \times 10 ^ 5 \right) 代表位置的数量。

第二行从小到大输入 nn 个不同的整数 $p_1,p_2,\cdots,p_n \left( -10^6 \leq p_i \leq 10^6 \right)$ 代表每个位置的坐标。

第三行输入 nn 个整数 $a_1,a_2,\cdots,a_n \left( 1 \leq a_i \leq 2 \times 10^5 \right)$ 代表每个位置上的人数。

输出格式

在一行上输出一个整数,代表你所选定的位置编号。编号即输入顺序,从 11 开始计数。

如果存在多个解决方案,您需要输出最小的编号。

输入样例#1

2
-5 5
10 10

输出样例#1

1

输入样例#2

6
0 1 2 3 4 5
1 1 4 5 1 4

输出样例#2

4

说明/提示

样例1解释:

在这个样例中,编号 1,21,2 都满足条件, 距离之和均为 100100。但是 11 最小,输出 11

样例2解释:

在这个样例中:

\hspace{15pt}\bullet\,如果选择 11 ,距离之和为 4848
\hspace{15pt}\bullet\,如果选择 22 ,距离之和为 3434
\hspace{15pt}\bullet\,如果选择 33 ,距离之和为 2222
\hspace{15pt}\bullet\,如果选择 44 ,距离之和为 1818
\hspace{15pt}\bullet\,如果选择 55 ,距离之和为 2424
\hspace{15pt}\bullet\,如果选择 66 ,距离之和为 3232

综上所述,最佳的答案为 44