Pagini recente » Cod sursa (job #203575) | Cod sursa (job #933596) | Cod sursa (job #1561247) | Cod sursa (job #1029358) | Cod sursa (job #206082)
Cod sursa(job #206082)
#include <stdio.h>
#define NMAX 5000
long int n,m,i,j,aux,maxim,q;
long int D[NMAX],L[NMAX];
void quicksort(int li, int ls)
{
int i,j,mij,aux;
i=li;
j=ls;
mij=D[(li+ls)/2];
do
{
while (D[i]<mij) ++i;
while (D[j]>mij) --j;
if (i<=j)
{
aux=D[i];
D[i]=D[j];
D[j]=aux;
aux=L[i];
L[i]=L[j];
L[j]=aux;
++i;
--j;
}
}
while (i<=j);
if (li<j) quicksort(li,j);
if (i<ls) quicksort(i,ls);
}
int main()
{
freopen("orase.in","rt",stdin);
freopen("orase.out","wt",stdout);
scanf("%ld %ld", &m, &n);
for (i=1;i<=n;i++)
scanf("%ld %ld", &D[i], &L[i]);
quicksort(1,n);
maxim=0;
j=1;
while (j<=n)
{
i=j+1;
while (i<=n)
{
q=D[i]+L[i]+L[j]-D[j];
if (maxim<q)
maxim=q;
++i;
}
++j;
}
printf("%ld\n",maxim);
return 0;
}