Cod sursa(job #126135)

Utilizator alex3el_n2oAlex Vladescu alex3el_n2o Data 21 ianuarie 2008 15:27:43
Problema Gardieni Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
FILE *f=fopen("gardieni.in","r"), *g=fopen("gardieni.out","w");
int T[50006];
int main()
{
long j,min,max,cost=0,t,aux,p=1,n,a[50006],b[50006],c[50006],i,k;
fscanf(f,"%ld %ld",&n,&t);
for (i=1;i<=n;i++)
	fscanf(f,"%ld %ld %ld",&a[i],&b[i],&c[i]);
while (p)
	{
	p=0;
	for (i=1;i<n;i++)
		if (c[i]>c[i+1])
			{
			aux=c[i];
			c[i]=c[i+1];
			c[i+1]=aux;
			aux=b[i];
			b[i]=b[i+1];
			b[i+1]=aux;
			aux=a[i];
			a[i]=a[i+1];
			a[i+1]=aux;
			p=1;
			}
	}
i=1;
p=1;
while ((p)&&(i<=n))
	{
	p=0;
	for (j=a[i];j<=b[i];j++)
		{
		if (!T[j])
			{
			T[j]=1;
			cost+=c[i];
			p=1;
			}
		}
	i++;
	}
fprintf(g,"%ld\n",cost);
fclose(g);
return 0;
}