Cod sursa(job #278263)

Utilizator borsoszalanBorsos Zalan borsoszalan Data 12 martie 2009 10:44:08
Problema Gardieni Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
#include<stdlib.h>
#define tmax 100010
#define nmax 50020
#define inf 1
int i,n,t;
struct asd{int a; int b;int c;};
asd tomb[nmax];
int ido[tmax];

int cmp(const void *a, const void *b)
{return (((asd*)a)->c-((asd*)b)->c);}

int main()
{
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", &tomb[i].a, &tomb[i].b, &tomb[i].c);
tomb[0].c=-inf;
qsort(tomb, n+1, sizeof(asd), cmp);
float f=0;
for(i=1;i<=n;i++)
	{
	 int x;
	for(x=tomb[i].a;x<=tomb[i].b;x++)
		if(ido[x]==0)
			{
			ido[x]=1;
			f+=tomb[i].c;
			}
	}
printf("%.0f", f);
return 0;
}