Pagini recente » Cod sursa (job #264688) | Cod sursa (job #1224702) | Cod sursa (job #498117) | Cod sursa (job #561835) | Cod sursa (job #319429)
Cod sursa(job #319429)
#include <stdio.h>
#include <stdlib.h>
#define N 50005
#define inf 100000000
struct oras
{
int a,b;
};
oras v[N];
int m,n,best;
void citire()
{
scanf("%d%d",&m,&n);
int i;
for (i=1; i<=n; i++)
scanf("%d%d",&v[i].a,&v[i].b);
}
int compar(const void *p,const void *q)
{
oras x=*(oras*)p;
oras y=*(oras*)q;
if (x.a<y.a)
return -1;
if (x.a>y.a)
return 1;
return 0;
}
void rezolvare()
{
int i,max=0;
qsort(v+1,n,sizeof(v[0]),compar);
for (i=1; i<=n; i++)
{
if (v[i-1].b-v[i-1].a>max)
max=v[i-1].b-v[i-1].a;
if (v[i].b+v[i].a+max>best)
best=v[i].b+v[i].a+max;
}
printf("%d\n",best);
}
int main()
{
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
citire();
rezolvare();
return 0;
}