Pagini recente » Cod sursa (job #1059095) | Cod sursa (job #2008994) | Cod sursa (job #129825) | Cod sursa (job #132356) | Cod sursa (job #1769932)
#include <iostream>
using namespace std;
int m,n,i,d[50005],l[50005],lg,in,di;
void qsort(int begin,int end)
{
int b=begin,e=end,pivot=d[(begin+end)/2];
while(b<=e)
{
while(d[b]<pivot)
b++;
while(d[e]>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(lg<l[i])
lg=l[i];
}
qsort(1,n);
for(i=1;i<=n;i++)
{
if(l[i]==lg)
{
in=i;
break;
}
}
for(i=1;i<=n;i++)
{
if(i!=in&&lg!=l[i])
{
cout<<l[i]<<' '<<d[i]<<'\n';
if(di<lg+abs(lg-d[i])+l[i])
di=lg+abs(lg-d[i])+l[i];
}
}
cout<<di;
return 0;
}