Cod sursa(job #154242)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 11 martie 2008 00:51:43
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
#include<stdlib.h>
long int n,i,s,min;
struct interval{int a,b;};
int compar(const void*p,const void*q)
{
	interval *pp=(interval*)p, *qq=(interval*)q;
	interval x=*pp,y=*qq;
	if (x.a>y.a) return 1;
	else
		if (x.a==y.a && x.b<y.b) return 1;
	if (x.b<y.b) return -1;
	return 0;
}
int main()
{
	interval v[10000];
	freopen("heavymetal.in","r",stdin);
	freopen("heavymetal.out","w",stdout);
	scanf("%ld",&n);
	for (i=0; i<n; i++) {scanf("%ld%ld",&v[i].a,&v[i].b);}
	qsort(v,n,sizeof(v[0]),compar);
	min=v[0].b;
	s=v[0].b-v[0].a;
	for (i=1; i<n; i++) 
	{
		if (min<=v[i].a)
		{
			min=v[i].b;
			s=s+v[i].b-v[i].a;
		}
			
	}
	printf("%ld",s);
}