比赛 2026.1.8 评测结果 AAAAAAAAATTTTTTTTTTT
题目名称 区间价值 最终得分 45
用户昵称 郑霁桓 运行时间 12.233 s
代码语言 C++ 内存使用 5.72 MiB
提交时间 2026-01-08 21:28:36
显示代码纯文本
#include<bits/stdc++.h> 
using namespace std;
long long n,m,t,dp[300005],p,as,mx[300005];
struct nm{
    long long l,r,v;
}a[300005];
bool cc(nm xx,nm yy){
    if(xx.l==yy.l) return xx.r<yy.r;
    return xx.l<yy.l;
}
int main(){
    freopen("sum.in","r",stdin);
    freopen("sum.out","w",stdout); 
    ios::sync_with_stdio(false);
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i].l>>a[i].r>>a[i].v;
    sort(a+1,a+n+1,cc);
    p=n;
    a[n+1].l=1e9;
    a[n+1].r=-1;
    for(int i=n;i>=1;i--){
    	while(p&&a[i].r<a[p].l) p--;
    	while(p<=n&&a[p].l<=a[i].r) p++;
    	dp[i]=mx[p]+a[i].v;
    	mx[i]=max(mx[i+1],dp[i]);
    	as=max(as,dp[i]);
	}
	cout<<as;
    return 0;
}