Pagini recente » Cod sursa (job #609325) | Cod sursa (job #1442587) | Cod sursa (job #3172732) | Cod sursa (job #1885498) | Cod sursa (job #854986)
Cod sursa(job #854986)
#include<stdio.h>
#include<algorithm>
#define l first
#define d second
using namespace std;
typedef pair<int,int> City;
class MyComp
{
public: inline bool operator()(const City &a,const City &b)
{
return a.l+a.d<b.l+b.d;
}
};
inline int abs(int a) {return a>0?a:-a;}
inline int dist(City a,City b)
{
return a.l+b.l+abs(a.d-b.d);
}
City a[50005];
int main()
{
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
int n,i,m;
scanf("%d%d",&m,&n);
for(i=1;i<=n;i++)
scanf("%d%d",&a[i].d,&a[i].l);
sort(a+1,a+n+1,MyComp());
int _max=0;
for(i=2;i<=n;i++)
if(dist(a[i],a[1])>_max)
_max=dist(a[i],a[1]);
for(i=1;i<n;i++)
if(dist(a[i],a[n])>_max)
_max=dist(a[i],a[n]);
printf("%d\n",_max);
return 0;
}