Pagini recente » Cod sursa (job #1793464) | Cod sursa (job #532486) | Cod sursa (job #3178032) | Profil Mr. Teofilos | Cod sursa (job #1770139)
#include <fstream>
using namespace std;
ifstream cin("orase.in");
ofstream cout("orase.out");
int m,n,i,d[50005],l[50005],lg,in,di;
void qsort(int begin,int end)
{
int b=begin,e=end,pivot=(begin+end)/2;
while(b<=e)
{
while(d[b]<d[pivot])
b++;
while(d[e]>d[pivot])
e--;
if(b<=e)
{
swap(d[b],d[e]);
swap(l[b],l[e]);
b++;
e--;
}
}
if(b<end)
qsort(b,end);
if(begin<e)
qsort(begin,e);
}
int abs(int n)
{
if(n<0)
return -n;
return n;
}
int main()
{
cin>>m>>n;
for(i=1;i<=n;i++)
{
cin>>d[i]>>l[i];
if(l[i]>lg)
lg=l[i];
}
qsort(1,n);
for(i=1;i<=n&&in==0;i++)
{
if(l[i]==lg)
in=d[i];
}
for(i=1;i<=n;i++)
{
if((d[i]!=in||l[i]!=lg)&&lg+abs(in-d[i])+l[i]>di)
di=lg+abs(in-d[i])+l[i];
}
cout<<di;
return 0;
}