可过样例
#include <bits/stdc++.h>
using namespace std;
int n;
__int128 ans;
struct building{
int l,r,h;
}a[40400];
bool cmp(building x,building y){
return x.l<y.l;
}
void write(int x){
if(x>9){
write(x/10);
}
putchar(x%10+'0');
}
signed main(){
freopen("P2061_2.in","r",stdin);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].l>>a[i].r>>a[i].h;
ans+=(a[i].r-a[i].l)*a[i].h;
}
sort(a+1,a+1+n,cmp);
int nr=a[1].r;
for(int i=2;i<n;i++){
if(a[i].r>nr){
if(a[i].l<=nr){
ans-=min(a[i].h,a[i-1].h)*(nr-a[i].l);
}
nr=a[i].r;
}
else{
ans-=min(a[i].h,a[i-1].h)*(a[i].r-a[i].l);
}
}
write(ans);
return 0;
}