比赛 2026.1.8 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 区间价值 最终得分 100
用户昵称 123 运行时间 1.796 s
代码语言 C++ 内存使用 4.57 MiB
提交时间 2026-01-08 21:14:45
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n;
int mx[N];
struct node {
	int l,r,w;
} a[N];
int cmp(node x,node y)
{
	return x.r<y.r; 
}
int main() {
	freopen("sum.in","r",stdin),freopen("sum.out","w",stdout);
	cin>>n;
	for (int i=1;i<=n;i++) cin>>a[i].l>>a[i].r>>a[i].w;
	sort(a+1,a+n+1,cmp);
	for (int i=1;i<=n;i++)
	{
		int l=0,r=i-1;
		while (l<r)
		{
			int mid=(l+r+1)>>1;
			if (a[mid].r<a[i].l) l=mid;
			else r=mid-1;
		}
		mx[i]=max(mx[i-1],mx[l]+a[i].w);
	}
	cout<<mx[n];
}