忘了咋写结构体了
查看原帖
忘了咋写结构体了
1275085
Liuzr20楼主2024/8/24 10:52
#include<bits/stdc++.h>
using namespace std;
int n,k,f[505][105];
struct node{
    int x,y;
}a[505];
int main(){
	cin>>n>>k;
	for(int i=0;i<n;i++){
	    cin>>a[i].x>>a[i].y;
	}
	sort(a,a+n);
	for(int i=0;i<n;i++){
		for(int j=0;j<=k;j++){
		    f[i][j]=j+1; 
		}
	}
	for(int i=1;i<n;i++){
		for(int j=i;j>1;j--){
			if(a[j].y>a[i].y){
			    continue;
			}
			int d=a[i].x-a[j].x+a[i].y-a[j].y-1;
			for(int p=d;p<=k;p++){
			    f[i][p]=max(f[i][p],f[j][p-d]+d+1);
			}
		}
	}
	int ans=0;
	for(int i=1;i<=n;i++){
	    ans=max(ans,f[i][k]);
	}
	cout<<ans;
	return 0;
}

2024/8/24 10:52
加载中...