比赛 2025暑假集训第一场 评测结果 AAAAAAAAAAAAAAAAAEEE
题目名称 免费的馅饼(加强版) 最终得分 85
用户昵称 徐诗畅 运行时间 0.792 s
代码语言 C++ 内存使用 3.85 MiB
提交时间 2025-06-25 11:14:54
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=10005;
int w,n,f[N],mt;
struct str{
	int t,p,v;
}a[N];
bool cmp(str x,str y){return x.t<y.t;}
signed main(){
	freopen("free.in","r",stdin);
	freopen("free.out","w",stdout);
	scanf("%lld%lld",&w,&n);
	for(int i = 1;i<=n;i++){
		scanf("%lld%lld%lld",&a[i].t,&a[i].p,&a[i].v);
	}
	sort(a+1,a+1+n,cmp);
	for(int i = 1;i<=n;i++){
		f[i]=a[i].v;
		for(int j = 1;j<i;j++){
			if(abs(a[i].t-a[j].t)*2>=abs(a[i].p-a[j].p))
			f[i]=max(f[i],f[j]+a[i].v);
		}
	}
	int ans=0;
	for(int i = 1;i<=n;i++) ans=max(ans,f[i]);
	printf("%lld",ans);
	return 0;
}