比赛 CSP2022普及组 评测结果 RRRRRRRRRRRRRRRRRRRR
题目名称 上升点列 最终得分 0
用户昵称 chengyb 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-10-29 16:21:45
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
struct point{
	long long x,y;
	long long d;
}*a;
long long n,k;
bool cmp(point a,point b){
	if(a.x<b.x)return 1;
	else
	if(a.x==b.x)
	{
		if(a.y<b.y)return 1;
		else return 0;
	}
	else return 0;
}
long long dis(point a,point b)
{
	return sqrt(b.x-a.x+b.y-a.y);
}
int main(){
	freopen("r","point.in",stdin);
	freopen("w","point.out",stdout);
	cin>>n>>k;
	a=new point[n+k];
	for(int i=0;i<n;i++)
	cin>>a[i].x>>a[i].y;
	sort(a,a+n,cmp);
	long long p=0;
	long long l[n]={0};
	if(k==0){
	for(int i=1;i<n;i++)
	{
		a[i].d=dis(a[i-1],a[i]);
		if(a[i].d==1)
		l[p]++;
		else
		p++;
	}
	sort(l,l+p);
	cout<<l[p-1]<<endl;
	return 0;
	}
	return 0; 
}