| 比赛 |
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;
}