#xDSlydlt40x4305. 窗内的星星 Stars in Your Window

窗内的星星 Stars in Your Window

题目描述

在一个天空中有很多星星(看作平面直角坐标系),已知每颗星星的坐标和亮度(都是整数)。

求用宽为 WW、高为 HH 的矩形窗口(W,HW,H 为正整数)能圈住的星星的亮度总和最大是多少。(矩形边界上的星星不算)

输入格式

输入包含多组测试用例。

每个用例的第一行包含 33 个整数:nWHn,W,H,表示星星的数量,矩形窗口的宽和高。

然后是 nn 行,每行有 33 个整数:xycx,y,c,表示每个星星的位置 (xy)(x,y) 和亮度。

没有两颗星星在同一点上。

输出格式

每个测试用例输出一个亮度总和最大值。

每个结果占一行。

样例

输入样例:

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

输出样例:

5
6

样例解释

第一个测试用例n=3,W=5,H=4n=3,W=5,H=4

星星:

  1. (1,2) 亮度 3
  2. (2,3) 亮度 2
  3. (6,3) 亮度 1

矩形宽 5,高 4。
可以框住前两个星星(矩形左下角在 (0,0)(0,0)(1,0)(1,0) 等位置),亮度总和 3+2=53+2=5
第三个星星在 (6,3)(6,3),和前两个距离超过宽 5 或高 4,无法同时框住。
最大总亮度为 55

第二个测试用例n=3,W=5,H=4n=3,W=5,H=4

星星:

  1. (1,2) 亮度 3
  2. (2,3) 亮度 2
  3. (5,3) 亮度 1

可以框住所有三个星星(例如矩形左下角在 (0,0)(0,0),宽 5 高 4,但需注意边界不算,需要仔细调整)。
实际上,矩形 [0,5]×[0,4][0,5] \times [0,4] 包含星星 (1,2), (2,3), (5,3),但 (5,3) 在右边界上,不算。
需要左移一点:矩形 [0.5,5.5]×[0.5,3.5][0.5,5.5] \times [-0.5,3.5] 等,使得星星在内部。
亮度总和 3+2+1=63+2+1=6

数据范围

  • 1n100001 \le n \le 10000
  • 1W,H10000001 \le W,H \le 1000000
  • 0x,y<2310 \le x,y < 2^{31}
  • 亮度取值范围 [1,1000][1,1000]

时空限制

  • 时间限制:2 秒
  • 空间限制:64 MB

所有题目整理完毕。