Cod sursa(job #319270)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 31 mai 2009 00:13:27
Problema Orase Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <stdlib.h>
#define N 50005
#define inf 100000000
struct oras
{
	int a,b;
};
oras v[N];
int m,n,best;
void citire()
{
	scanf("%d%d",&m,&n);
	int i;
	for (i=1; i<=n; i++)
		scanf("%d%d",&v[i].a,&v[i].b);
}
int compar(const void *p,const void *q)
{
	oras x=*(oras*)p;
	oras y=*(oras*)q;
	if (x.a<y.a)
		return -1;
	if (x.a>y.a)
		return 1;
	return 0;
}
void rezolvare()
{
	int i,j,max;
	qsort(v+1,n,sizeof(v[0]),compar);
	for (i=1; i<=n; i++)
	{
		max=0;
		for (j=1; j<i; j++)
			if (v[j].b-v[j].a>max)
				max=v[j].b-v[j].a;
		if (v[i].b+v[i].a+max>best)
			best=v[i].b+v[i].a+max;
	}
	printf("%d\n",best);
}
int main()
{
	freopen("orase.in","r",stdin);
	freopen("orase.out","w",stdout);
	citire();
	rezolvare();
	return 0;
}