#1630. 妖梦采西瓜

妖梦采西瓜

妖梦采西瓜

题目背景

uuz 想吃西瓜,让妖梦去西瓜地里采,为了考验他,要他必须在最小的时间内采到指定重量的西瓜。妖梦是个铁憨憨,于是拦下了你,要你告诉他答案,否则就砍了你(你身上没有b,而且是0残机)。

题目描述

西瓜地有 $n$ 个西瓜,第 $i$ 个西瓜重量为 $w_i$,坐标为 $(x_i,y_i)$,每个西瓜的坐标互不相同,且坐标不会是 $(0,0)$。妖梦最初的位置为 $(0,0)$,采完所需西瓜后****不返回原点,任意两点间距离为它们的曼哈顿距离,经过 $1$ 的距离需要花费 $1$ 的时间。

共有 $m$ 次询问,对于第 $i$ 次询问,他想知道如何用最小的时间,采到不少于 $k_i$ 重量的西瓜。

uuz吃的很多,别指望暴力能过!

输入格式

输入共 $n+2$ 行。

第 $1$ 行两个整数 $n$ 和 $m$,表示西瓜数量和询问次数。

第 $2$ 行到第 $n+1$ 行,一行三个整数 $w_i$,$x_i$,$y_i$,分别表示第 $i$ 个西瓜的重量以及坐标。

第 $n+2$ 行,共 $m$ 个整数,第 $i$ 个整数为 $k_i$,表示需要采到西瓜的最少重量。

输出格式

输出共 $m$ 行,一行一个整数,表示对于每次询问所求的最小的时间。

样例 #1

样例输入 #1

3 3
3 1 1
4 2 3
6 5 2
3
7
13

样例输出 #1

2
5
9

样例 #2

样例输入 #2

4 3
12 -4 9
9 -2 4
32 13 -4
11 12 9
11
40
58

样例输出 #2

13
29
43

提示

样例 #1 解释

对于第一次询问,到达的坐标依次为 $(0,0)$,$(1,1)$;

对于第二次询问,到达的坐标依次为 $(0,0)$,$(1,1)$,$(2,3)$;

对于第三次询问,到达的坐标依次为 $(0,0)$,$(1,1)$,$(2,3)$,$(5,2)$。

数据范围

本题采用 Subtask 计分方式。

子任务 分值 $n\le$ $m\le$ $k\le$ 其他限制
$1$ $20$ $7$ $100$ $10^6$
$2$ $80$ $16$ $2 \times10^5$ $10^9$

对于全部的数据,保证 $\left | x \right | \le 1 \times 10^9$,$\left | y \right | \le 1 \times 10^9$,$\sum_{i = 1}^{n}w_i \le 1 \times 10^{18} $。

所有询问均有解。

请注意常数对运行时间的影响。