90分求助awa
查看原帖
90分求助awa
766436
Mr_RedStone楼主2023/8/16 10:14
#include<bits/stdc++.h>
using namespace std;
int n,k;
struct Node{
	int x,y;
}a[505];
int f[505],s[505];
bool cmp(Node a,Node b){
	if(a.x!=b.x){
		return a.x<b.x;
	}
	return a.y<b.y;
}
int main(){
	scanf("%d %d",&n,&k);
	for(int i=1;i<=n;i++){
		scanf("%d %d",&a[i].x,&a[i].y);
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++){
		f[i]=1;
		for(int j=1;j<i;j++){
			if(a[i].x>=a[j].x&&a[i].y>=a[j].y){
				if(f[j]+1>f[i]){
					f[i]=f[j]+1;
					s[i]=s[j]+(a[i].x-a[j].x+a[i].y-a[j].y-1);
				}
				if(f[j]+1==f[i]){
					s[i]=min(s[i],s[j]+(a[i].x-a[j].x+a[i].y-a[j].y-1));
				}
			}
		}
	}
	int ans=0;
	for(int i=1;i<=n;i++){
		if(k>=s[i]){
			ans=max(ans,f[i]+k);
		}
	}
	printf("%d",ans);
	return 0;
}

有无大佬帮调一下qwqqwq

2023/8/16 10:14
加载中...