Pagini recente » Cod sursa (job #3216930) | Cod sursa (job #766116) | Cod sursa (job #2440388) | Cod sursa (job #2563052) | Cod sursa (job #968882)
Cod sursa(job #968882)
#include <fstream>
#include <algorithm>
//#include <queue>
using namespace std;
struct elem
{
int d;
int h;
}v[50005];
bool comp(const elem &a,const elem &b)
{
if(a.d<b.d)
return 1;
else if(a.d==b.d)
if(a.h<b.h)
return 1;
return 0;
}
//bool operator<(const elem &a,const elem &b)
//{
// if((a.h-a.d)<(b.h-b.d))
// return 1;
// return 0;
//}
int main()
{
ifstream cin("orase.in");
ofstream cout("orase.out");
int n,m,i;
cin>>m>>n;
for(i=0;i<n;i++)
cin>>v[i].d>>v[i].h;
sort(v,v+n,comp);
//priority_queue<elem> coada;
//coada.push(v[0]);
int sol=-1,aux;
elem best=v[0];
for(i=1;i<n;i++)
{
aux=v[i].h+v[i].d-best.d+best.h;
if(aux>sol)
sol=aux;
if((v[i].h-v[i].d)>(best.h-best.d))
best=v[i];
//coada.push(v[i]);
}
cout<<sol<<'\n';
cin.close();
cout.close();
return 0;
}