Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓
Statistics

Bạn được cho một đa giác đơn $N$ đỉnh trên mặt phẳng $xy$ mà tất cả các cạnh của nó đều song song với trục $x$ hoặc trục $y$ (tức là một đa giác không tự cắt và không có lỗ).

Có $M$ địa điểm phát biểu nằm trên biên của đa giác này.

Khi chỉ được phép di chuyển dọc theo biên của đa giác, hãy tìm tổng quãng đường di chuyển tối thiểu cần thiết để ghé thăm tất cả các địa điểm phát biểu đúng một lần.

Điểm bắt đầu và điểm kết thúc của hành trình có thể được chọn tùy ý trên biên của đa giác.

Dữ liệu vào

Dòng đầu tiên chứa số đỉnh $N$ của đa giác và số lượng địa điểm phát biểu $M$. ($4 \le N \le 10^5, 1 \le M \le 10^5$)

Dòng thứ $(i + 1)$ chứa tọa độ $(x_i, y_i)$ của đỉnh thứ $i$ của đa giác đơn $N$ đỉnh. ($1 \le i \le N, |x_i|, |y_i| \le 10^5$) Các cạnh của đa giác nối đỉnh thứ $i$ và đỉnh thứ $(i + 1)$. Nói cách khác, chính xác một trong hai điều kiện $x_i = x_{i+1}$ hoặc $y_i = y_{i+1}$ luôn đúng. (Đỉnh thứ $(N + 1)$ chính là đỉnh thứ $1$.) Không có đỉnh nào nằm trên một cạnh. (Nghĩa là, không có đỉnh nào có góc 180 độ.)

Dòng thứ $(j + 1 + N)$ chứa tọa độ $(p_j, q_j)$ của địa điểm phát biểu thứ $j$. ($1 \le j \le M, |p_j|, |q_j| \le 10^5$) Các điểm này đều phân biệt và nằm trên biên của đa giác đã cho. (Bao gồm cả các đỉnh.)

Tất cả các giá trị đầu vào đều là số nguyên.

Dữ liệu ra

In ra kết quả.

Ví dụ

Dữ liệu vào 1

4 3
0 0
3 0
3 2
0 2
0 0
3 0
3 2

Dữ liệu ra 1

5

Dữ liệu vào 2

6 4
0 0
3 0
3 1
2 1
2 2
0 2
3 0
0 2
2 1
1 2

Dữ liệu ra 2

5

Dữ liệu vào 3

10 10
-12 -11
-12 9
3 9
3 1
-3 1
-3 -1
8 -1
8 -10
-5 -10
-5 -11
3 1
3 7
7 -1
-3 0
-4 -10
-12 8
-10 -11
-3 9
-12 -10
8 -7

Dữ liệu ra 3

74

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1525EditorialOpen题解jiangly2026-04-15 16:03:41View

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.