求助站外题
  • 板块题目总版
  • 楼主Wzc_DL24JP
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/10/22 13:44
  • 上次更新2023/10/27 06:32:08
查看原帖
求助站外题
569422
Wzc_DL24JP楼主2022/10/22 13:44

路上有 k 个粮仓,分别位于 p[i] 位置,每个粮仓保存了 a[i] 个粮食。

两个人在玩抢粮食的游戏,其中小 a 已经将他的 m 个士兵,分配到了位置 d[1] 到 d[m] 的位置。

现在轮到小 b 放置他的 n 个士兵了,游戏规则如下:

  1. 小 b 的士兵位置不能与小 a 的士兵重合,但可以直接放到粮仓上。
  2. 如果小 b 的士兵距离某个粮仓更近,则粮仓中的所有粮食归小 b 所有,否则归小 a (相等也是归小 a )

问小 b 最多能够获得多少粮食。

输入 第一行输入三个正整数k,m,n。 之后k行每行输入两个整数p[i],a[i]。 之后m行每行输入一个整数d[i]。 其中2≤k≤200000,1≤m≤130000,1≤n≤100000。 输出 输出一行一个整数,表示小b最多能够获得多少粮食。 数据范围 对于5%的数据,2≤k≤10,1≤m≤10,1≤n≤10;

对于76%的数据,1≤m≤40000,1≤n≤25000;

对于100%的数据,2≤k≤200000,1≤m≤130000,1≤n≤100000,0≤a[i]≤109,1≤p[i],d[i]≤109。

输入样例 6 5 2 0 4 4 6 8 10 10 8 12 12 13 14 2 3 5 7 11 输出样例 36

所在oj提供的标程0分

在程序注释中有farmer nhoj字样 似乎是USACO的题改题面

2022/10/22 13:44
加载中...