Cod sursa(job #500025)

Utilizator nightwish0031Vlad Radu Cristian nightwish0031 Data 11 noiembrie 2010 10:52:40
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<cstdio>
#include<algorithm>


const int N=50001;
int L;

using namespace std;

struct laturalnic
{
	int l,d;
};

laturalnic x[N+5];

void fisiere()
{
	freopen("orase.in","r",stdin);
	freopen("orase.out","w",stdout);
}


bool comp(laturalnic a,laturalnic b)
{
	return a.d<b.d;
}
void citeste()
{
	int i;
	fisiere();
	scanf("%d%d",&L,&x[0].d);
	for (i=1;i<=x[0].d;++i)
		scanf("%d%d",&x[i].d,&x[i].l);
	
}

void rezolva()
{
	int p=1,dmax=0,distanta,i;
	
	for (i=2;i<=x[0].d;++i)
	{
		distanta=x[i].l+x[p].l+x[i].d-x[p].d;
		if (distanta > dmax)
			dmax=distanta;
		if (x[i].l>x[p].l+x[i].d-x[p].d)
			p=i;
	}
	
	printf("%d",dmax);
}

int main()
{
	
	citeste();
	sort(x+1,x+x[0].d+1,comp);
	rezolva();
	
	return 0;
}