Pagini recente » Cod sursa (job #2950990) | Cod sursa (job #581609) | Cod sursa (job #1603049) | Cod sursa (job #3178614) | Cod sursa (job #1364918)
#include <cstdio>
#include <algorithm>
#include <set>
#define Nmax 100015
using namespace std;
struct event
{
int tip,cost,val;
bool operator <(const event A) const
{
return val<A.val;
}
} a[Nmax];
multiset <int> Q;
int main()
{
int n,T,x,y,cost,i,len=0,p=1;
long long sol=0;
event w;
freopen ("gardieni.in","r",stdin);
freopen ("gardieni.out","w",stdout);
scanf("%d%d", &n,&T);
for(i=1;i<=n;++i)
{
scanf("%d%d%d", &x,&y,&w.cost);
w.tip=1; w.val=x; a[++len]=w;
w.tip=2; w.val=y+1; a[++len]=w;
}
sort(a+1,a+len+1);
for(i=1;i<=T;++i)
{
while(p<=len && a[p].val==i)
{
if(a[p].tip==1) Q.insert(a[p].cost);
else Q.erase(Q.find(a[p].cost));
++p;
}
sol+=*Q.begin();
}
printf("%lld\n", sol);
return 0;
}