求助!!!
查看原帖
求助!!!
838482
xuweichi楼主2023/9/19 16:53

只A了一个HACK点,求助

#include <bits/stdc++.h>
using namespace std;
struct point
{
	int x, y;
} a[505];
bool cmp(point p, point q)
{
	return p.x < q.y;
}
int n, k, maxn, f[505][105];
int main()
{
	cin >> n >> k;
	for (int i = 1; i <= n; i ++)
	{
		cin >> a[i].x >> a[i].y;
	}
	sort(a + 1, a + n + 1, cmp);
	for (int i = 1; i <= n; i ++)
	{
		for (int j = 0; j <= k; j ++)
		{
			f[i][j] = 1 + j;
		}
	}
	for (int i = 2; i <= n; i ++)
	{
		for (int j = i - 1; j >= 1; j --)
		{
			if (a[j].y > a[i].y) continue;
			int temp = a[i].x - a[j].x + a[i].y - a[j].y - 1;
			for (int l = temp; l <= k; l ++)
			{
				f[i][l] = max(f[i][l], f[j][l - temp] + temp + 1);
			}
		}
	}
	for (int i = 1; i <= n; i ++)
	{
		maxn = max(maxn, f[i][k]);
	}
	cout << maxn;
	return 0;
}
2023/9/19 16:53
加载中...