QOJ.ac

QOJ

حد الوقت: 0.5 s حد الذاكرة: 32 MB مجموع النقاط: 100

#13796. 花园

الإحصائيات

Byteman 拥有 Bytetown 最美丽的花园。他在花园里种植了 $n$ 朵玫瑰。夏天到了,花朵长得又大又漂亮。Byteman 意识到自己无法独自照顾所有的玫瑰。他决定雇佣两名园丁来帮助他。他想选择两个矩形区域,以便每位园丁负责其中一个区域内的玫瑰。这两个区域应当是不相交的,且每个区域必须恰好包含 $k$ 朵玫瑰。

Byteman 想要建造围栏将这两个矩形区域围起来,但他资金紧张,因此他希望使用尽可能少的围栏。你的任务是帮助 Byteman 选择这两个矩形区域。

花园是一个长 $l$ 米、宽 $w$ 米的矩形。它被划分为 $l \cdot w$ 个大小为 $1\text{ 米} \times 1\text{ 米}$ 的正方形。我们建立一个坐标系,其坐标轴与花园的边界平行。所有正方形的整数坐标 $(x,y)$ 满足 $1 \le x \le l$ 且 $1 \le y \le w$。每个正方形内可以有任意数量的玫瑰。

所选择的矩形区域的边必须与花园的边界平行,且其顶角的正方形必须具有整数坐标。对于 $1 \le l_1 \le l_2 \le l$ 且 $1 \le w_1 \le w_2 \le w$,一个以 $(l_1,w_1)$、$(l_1,w_2)$、$(l_2,w_1)$ 和 $(l_2,w_2)$ 为顶角的矩形区域:

  • 包含所有满足 $l_1 \le x \le l_2$ 且 $w_1 \le y \le w_2$ 的坐标为 $(x,y)$ 的正方形,并且
  • 其周长为 $2 \cdot (l_2 - l_1 + 1) + 2 \cdot (w_2 - w_1 + 1)$。

这两个矩形区域必须是不相交的,即它们不能包含共同的正方形。即使它们有公共边或公共边的一部分,它们也必须用各自独立的围栏围起来。

编写一个程序,满足以下要求:

  • 从标准输入读取花园的尺寸、花园中玫瑰的数量、每个矩形区域中应包含的玫瑰数量以及玫瑰的位置;
  • 寻找满足给定条件且周长之和最小的两个矩形区域的顶角;
  • 向标准输出写入两个不相交矩形区域的最小周长之和,每个区域恰好包含给定数量的玫瑰(如果不存在这样的一对区域,则输出单个单词 NO)。

输入格式

第一行包含两个整数:$l$ 和 $w$($1 \le l, w \le 250$),由一个空格隔开,分别表示花园的长度和宽度。

第二行包含两个整数:$n$ 和 $k$($2 \le n \le 5000$,$1 \le k \le n/2$),由一个空格隔开,分别表示花园中玫瑰的总数以及每个矩形区域内应包含的玫瑰数量。

接下来的 $n$ 行包含玫瑰的坐标,每行一朵玫瑰。第 $(i+2)$ 行包含两个整数 $l_i$ 和 $w_i$($1 \le l_i \le l$,$1 \le w_i \le w$),由一个空格隔开,表示第 $i$ 朵玫瑰所在正方形的坐标。同一个正方形内可以有两朵或更多朵玫瑰。

在 50% 的测试数据中,花园的尺寸满足 $l, w \le 40$。

输出格式

输出仅包含一行,其中只有一个整数——满足条件的两个不相交矩形区域的最小周长之和(每个区域恰好包含 $k$ 朵玫瑰)。如果不存在这样的一对区域,则输出单个单词 NO

样例

输入样例 1

6 5
7 3
3 4
3 3
6 1
1 1
5 5
5 5
3 1

输出样例 1

22

说明

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.