Cod sursa(job #1837966)

Utilizator JasminaCornesteanJasmina Cornestean JasminaCornestean Data 30 decembrie 2016 18:05:51
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <algorithm>
using namespace std;
struct ORAS{int D,L;};
int M,N,i,j,vmax,rez;
ORAS CITY[50001];
ifstream fi("orase.in");
ofstream fo("orase.out");

int cmp(ORAS a, ORAS b)
// returneaza 1 atunci cand a<b, 0 in caz contrar
{
	if (a.D<b.D)
		return 1;
	return 0;
}

int main()
{
	fi>>M>>N;
	for (i=1;i<=N;i++)
		fi>>CITY[i].D>>CITY[i].L;
	sort(CITY+1,CITY+N+1,cmp);
	if (N==1)
		rez=0;
	else
	{
		rez=-1000000000;
		vmax=CITY[1].L-CITY[1].D;
		for (j=2;j<=N;j++)
		{
			if (CITY[j].L+CITY[j].D+vmax>rez)
				rez=CITY[j].L+CITY[j].D+vmax;
			if (CITY[j].L-CITY[j].D>vmax)
				vmax=CITY[j].L-CITY[j].D;
		}
	}
	fo<<rez;
	fi.close();
	fo.close();
	return 0;
}