P15175 [SWERC 2021] Ice Cream Shop

题目描述

海滩上有 $n$ 个小屋完美地排成一条直线,小屋 $1$ 在最左侧,且对于所有 $1 \le i \le n - 1$,小屋 $i+1$ 位于小屋 $i$ 右侧 $100$ 米处。小屋 $i$ 中有 $p_i$ 个人。 还有 $m$ 个冰淇淋摊贩,也与所有小屋完美地对齐在一条直线上。第 $i$ 个冰淇淋摊贩的店铺位于第一个小屋右侧 $x_i$ 米处。所有冰淇淋店铺的位置互不相同,但它们可能与某个小屋位于同一位置。 你想开设一个新的冰淇淋店,并且想知道你的店铺的最佳位置是什么。你可以将你的冰淇淋店放在海滩上的任意位置(不一定距离第一个小屋为整数距离),只要它与小屋和其他冰淇淋店铺对齐即可,即使该位置已经存在另一个冰淇淋店或小屋。你知道,人们只会来你的店铺,如果它严格比任何其他冰淇淋店更靠近他们的小屋。 如果每个住在小屋里的人都想恰好购买一个冰淇淋,那么在你最优地选择店铺位置的情况下,你最多可以卖出多少个冰淇淋?

输入格式

第一行包含两个整数 $n$ 和 $m$($2 \le n \le 200\,000$,$1 \le m \le 200\,000$)—— 分别表示小屋的数量和冰淇淋摊贩的数量。 第二行包含 $n$ 个整数 $p_1, p_2, \ldots, p_n$($1 \le p_i \le 10^9$)—— 每个小屋中的人数。 第三行包含 $m$ 个整数 $x_1, x_2, \ldots, x_m$($0 \le x_i \le 10^9$,且对于 $i \ne j$ 有 $x_i \ne x_j$)—— 每个冰淇淋店铺的位置。

输出格式

输出通过最优选择新店铺的位置可以卖出的冰淇淋的最大数量。

说明/提示

在第一个样例中,你可以将店铺(下图中标为橙色)放在第一个小屋右侧 $150$ 米处(例如),这样它对于前两个小屋(分别有 $2$ 人和 $5$ 人)来说是最近的店铺,总共可以卖出 $7$ 个冰淇淋。 :::align{center} ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1662I/036f11cf99e6ce8eb9e75f459ae556bcd19b83aa.png) ::: 在第二个样例中,你可以将店铺放在第一个小屋右侧 $170$ 米处(例如),这样它对于最后两个小屋(分别有 $7$ 人和 $8$ 人)来说是最近的店铺,总共可以卖出 $15$ 个冰淇淋。 :::align{center} ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1662I/84a834b228612f15126bc0383c786ab5a307b489.png) ::: 翻译由 DeepSeek 完成