Pagini recente » Cod sursa (job #961202) | Cod sursa (job #2690483) | Cod sursa (job #1312831) | Rating Pavel Iosif-Alexandru (nobume26) | Cod sursa (job #319264)
Cod sursa(job #319264)
// orase.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <cstdlib>
struct it
{
int a,b;
}e[50001];
int n,m,dist=0,r=0,o=0,dif;
int compar(const void *a ,const void *b)
{
return(*(int*)a-*(int*)b);
}
int main()
{
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
scanf("%d %d",&m,&n);
for(int i=1;i<=n;i++)
scanf("%d %d",&e[i].a,&e[i].b);
qsort(e+1,n,sizeof(e[1]),compar);
for(int i=1;i<=n;i++)
if(e[i].b-e[i].a>dist)
{
dist=e[i].b-e[i].a;
o=i;
}
dist=0;
for(int i=n;i>=1;i--)
if(e[i].b-m+e[i].a>dist && i!=o)
{
dist=e[i].b-m+e[i].a;
r=i;
}
dif=e[r].a-e[o].a;
if(dif<0)
dif=-dif;
printf("%d\n",e[o].b+e[r].b+dif);
return 0;
}