Pagini recente » Cod sursa (job #1365123) | Cod sursa (job #14960) | Cod sursa (job #466516) | Cod sursa (job #185772) | Cod sursa (job #125117)
Cod sursa(job #125117)
//gardieni
#include<fstream.h>
long int n,cost,t,a[50006],b[50006],c[50005],d;
long int sort(long int p, long int q)
{long int st=p, dr=q, x=a[st], y=b[st], z=c[st];
while(st<dr)
{while(st<dr && z<=c[dr]) dr--;
a[st]=a[dr]; b[st]=b[dr]; c[st]=c[dr];
while(st<dr && z>=c[st]) st++;
a[dr]=a[st]; b[dr]=b[st]; c[dr]=c[st];
}
a[st]=x; b[st]=y; c[st]=z;
return st;
}
void sort(long int p, long int q)
{long int m=sort(p,q);
if(m-1>p) qsort(p,m-1);
if(m+1<q) qsort(m+1;q);
}
int main()
{int i;
ifstream f("gardieni.in");
ofstream g("gardieni.out");
f>>n>>t;
for(i=1;i<=n;i++)
f>>a[i]>>b[i]>>c[i];
qsort(1,n);
for(i=1;i<=t;i++)
{for(j=1;d==0;j++)
if(a[j]<=t && b[j]>=t) {cost+=c[j];
d=1;}
d=0;}
g<<cost<<"\n";
f.close();
g.close();
return 0;
}