Pagini recente » Cod sursa (job #219482) | Cod sursa (job #2620324) | Cod sursa (job #2366629) | Cod sursa (job #2814639) | Cod sursa (job #655788)
Cod sursa(job #655788)
#include<stdio.h>
#include<queue>
#include<vector>
#include<fstream>
#include<algorithm>
using namespace std;
#define ll long long
ifstream f("gardieni.in");
ofstream g("gardieni.out");
#define MaxN 50010
#define Max11 15
#define MaxT 1000100
int N,T,nr;
ll MAX,B[MaxT];
/*ll MAX;
gard A[MaxN];
struct comp{
bool operator () (const int &a, const int &b){
if(A[a].a == A[b].a)
return A[a].b > A[b].b;
return A[a].a > A[b].a;
}
};
priority_queue<int, vector<int>,comp> Q;
//Varianta cu cozi de prioritate
void citire(void)
{
f >> N >> T;
for(int i=1;i<=N;i++)
{
f >> A[i].a >> A[i].b >> A[i].c;
Q.push(i);
}
}
inline int cmp(int a,int b)
{
return A[a].c < A[b].c;
}*/
inline ll min(ll a,ll b)
{
return a < b ? a : b;
}
/*void TimpMinim(void)
{
int Max;
for(;!Q.empty();)
{
nr = 1;
B[nr] = Q.top(); Q.pop();
for(;!Q.empty() && A[Q.top()].a == A[B[nr]].a;B[++nr] = Q.top(),Q.pop());
sort(B+1,B+nr+1,cmp);
!Q.empty() ? Max = min(A[Q.top()].a-1,A[B[1]].b) : Max = A[B[1]].b;
MAX += (Max-A[B[1]].a+1)*A[B[1]].c;
for(int i=1;i<=nr;i++)
if(Max < A[B[i]].b)
{
A[B[i]].a = Max+1;
Q.push(B[i]);
}
}
}*/
int main()
{
int a,b;
ll c;
f >> N >> T;
for(int i=1;i<=T;i++)
B[i] = 10000000*10000*1000*1LL;
for(int i=1;i<=N;i++)
{
f >> a >> b >> c;
for(int j=a;j<=b;j++)
B[j] = min(B[j],c);
}
for(int i=1;i<=T;i++)
MAX += B[i];
g << MAX;
return 0;
}