Cod sursa(job #388279)

Utilizator bog29Antohi Bogdan bog29 Data 29 ianuarie 2010 18:48:16
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
#define dmax 100003
using namespace std;
ifstream in("heavymetal.in");
ofstream out("heavymetal.out");

int n;
long long sol,ult;
struct sp
{	long long p1;
	long long p2;
}	s[dmax]	;
typedef int (*compfn)(const void*,const void*);

int sf(struct sp *a,struct sp *b)
{	if(a->p1 - b->p1 !=0)
		return a->p2 - b->p2;	
	else return (b->p2 - a->p2);
}

int main()
{	int i;
	in>>n;
	for(i=0;i<n;i++)
		in>>s[i].p1>>s[i].p2;
	in.close();
	qsort((void*)&s, n, sizeof(struct sp), (compfn)sf);
	ult=-1;
	for(i=0;i<n;i++)
		if(s[i].p1 >= ult)
		{	sol+=(s[i].p2 - s[i].p1 );
			ult=s[i].p2;
		}	
	out<<sol;
	out.close();
	return 0;
}