wa0分求调
查看原帖
wa0分求调
755270
jzc114514楼主2024/10/19 11:02
#include <bits/stdc++.h>
using namespace std;
struct p{
	int x;int y;
}s[501];
int n,k;
int dp[501][101];
bool cmp(p a,p b){
	return ((a.x<b.x)||(a.x==b.x&&a.y<b.y));
}
int main(){
	ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    // freopen("point4.in","r",stdin);
	cin>>n>>k;
	int ans=k+1;
	for(int i=1;i<=n;i++)cin>>s[i].x>>s[i].y;
	sort(s+1,s+n+1,cmp);
	for(int i=1;i<=n;i++)for(int q=1;q<=k;q++)dp[i][k]=k+1;
	for(int i=2;i<=n;i++){
		for(int q=1;q<i;q++){
			int dis=s[i].x-s[q].x+s[i].y-s[q].y-1;
			for(int w=dis;w<=k;w++){
				dp[i][w]=max(dp[i][w],dp[q][w-dis]+dis+1);
				ans=max(ans,dp[i][w]);
			}
		}
	}
    for(int i=1;i<=n;i++){
        for(int q=0;q<=k;q++){
            ans=max(ans,dp[i][q]+k-q);
        }
    }
	cout<<ans;
}
2024/10/19 11:02
加载中...