Pagini recente » Cod sursa (job #129099) | Cod sursa (job #2940944) | Cod sursa (job #940435) | Cod sursa (job #720123) | Cod sursa (job #1617864)
#include <stdio.h>
#include <algorithm>
#define lim 50010
using namespace std;
struct elem{int st,dr,nr;};
elem v[lim];
bool cmp(elem a,elem b){
if(a.st<b.st)
return true;
else
if(a.st>b.st)
return false;
else
if(a.nr<b.nr)
return true;
else
return false;
}
int main(){
FILE *fin,*fout;
fin=fopen("gardieni.in","r");
fout=fopen("gardieni.out","w");
int i,j,k,n,t,min;
long long cost=0;
fscanf(fin,"%d%d",&n,&t);
for(i=1;i<=n;i++)
fscanf(fin,"%d%d%d",&v[i].st,&v[i].dr,&v[i].nr);
sort(v+1,v+n+1,cmp);
k=1;
for(i=1;i<=t;i++){
while(v[k].dr<i)
k++;
min=2000000;
j=0;
while(v[j+k].st<=i&&i<=v[j+k].dr){
if(v[j+k].nr<min)
min=v[j+k].nr;
j++;
}
cost=cost+(long long)min;
}
fprintf(fout,"%lld",cost);
fclose(fin);
fclose(fout);
return 0;
}