Cod sursa(job #541547)

Utilizator raul1520Raul Andrei raul1520 Data 25 februarie 2011 12:01:05
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <algorithm>
using namespace std;
int s,i,p,u,ul,pr,smax,n,m;
struct oras
{
	int d;
	int l;
};
bool cmp(oras x,oras y)
{
	return(x.d<y.d);
}
oras a[50005];
void Read()
{
	ifstream f("orase.in");
	
	
	f>>m>>n;
	for(i=1;i<=n;i++)
	{
		f>>a[i].d>>a[i].l;
	}
	s=0;
	smax=0;
}
void Do()
{
	sort(a+1,a+n+1,cmp);
	s=a[1].l+a[2].l+a[2].d;
	for(i=2;i<=n;i++)
	{
		if(s-a[i-1].l+a[i].l+a[i].d-a[i-1].d>=a[i-1].l+a[i].l+a[i].d-a[i-1].d)
		{
			s=s-a[i-1].l+a[i].l+a[i].d-a[i-1].d;
		}
		else
		{
			s=a[i-1].l+a[i].l+a[i].d-a[i-1].d;
		}
		if(s>smax)
		{
			smax=s;
		}
	}
}
void Write()
{
ofstream g("orase.out");
	g<<smax;
}
int main()
{
	Read();
	Do();
	Write();
	return 0;
}