Cod sursa(job #616982)

Utilizator scipianusFMI Ciprian Olariu scipianus Data 13 octombrie 2011 19:11:11
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,sol;
struct Oras{int D,L;};
Oras A[50500];

void Citire()
{
	int i;
	freopen("orase.in","r",stdin);
	scanf("%d %d",&m,&n);
	for(i=1;i<=n;i++)
		scanf("%d %d",&A[i].D,&A[i].L);
}

inline bool Sortare(Oras A,Oras B)
{
	return A.D<B.D;
}

void Rezolvare()
{
	sort(A+1,A+n+1,Sortare);
	int i,ormin;
	ormin=1;
	for(i=2;i<=n;i++)
	{
		sol=max(sol,A[i].L+A[i].D+A[ormin].L-A[ormin].D);
		if(A[i].L-A[i].D>A[ormin].L-A[ormin].D)
			ormin=i;
	}
}

void Afisare()
{
	freopen("orase.out","w",stdout);
	printf("%d\n",sol);
}

int main()
{
	Citire();
	Rezolvare();
	Afisare();
	return 0;
}