1925. T3-上升点列[CSP-J2022] 标准IO
时间限制:1000 MS 内存限制:512 MB    算法评级:    状态:

在一个二维平面内,给定 $n$ 个整数点 $(x_i,y_i)$,此外你还可以自由添加 $k$ 个整数点。

你在自由添加 $k$ 个点后,还需要从 $n+k$ 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 $1$ 而且横坐标、纵坐标值均单调不减,即 $x_{i+1}−x_i=1,y_{i+1}=y_i$ 或 $y_{i+1}−y_i=1,x_{i+1}=x_i$。

请给出满足条件的序列的最大长度。


输入格式

第一行两个正整数 $n,k$ 分别表示给定的整点个数、可自由添加的整点个数。

接下来 $n$ 行,第 $i$ 行两个正整数 $x_i,y_i$ 表示给定的第 $i$ 个点的横纵坐标。


输出格式

输出一个整数表示满足要求的序列的最大长度。


数据范围

保证对于所有数据满足:$1≤n≤500$,$0≤k≤100$。

对于所有给定的整点,其横纵坐标 $1≤x_i,y_i≤10^9$,且保证所有给定的点互不重合。

对于自由添加的整点,其横纵坐标不受限制。

测试点编号 $n \le $ $k \le $  $x_i,y_i \le$
1~2 $10$ $0$ $10$
3~4 $100$ $100$
5~7 $500$ $0$
8~10 $10^9$
11~15 $100$ $100$
15~20 $10^9$

输入样例1:

8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3

输出样例1:

8

输入样例2:

4 100
10 10
15 25
20 20
30 30

输出样例2:

103
代码运行状态:

输出