Pagini recente » Cod sursa (job #2598348) | Cod sursa (job #2873949) | Cod sursa (job #762855) | Produse2 | Cod sursa (job #1584187)
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int x,y;
}oras;
oras v[50000];
int cmpfunc (const void * p, const void * q)
{
oras *pa=(oras*)p,*qb=(oras*)q;
oras a=(*pa),b=(*qb);
if(a.x<b.x)return -1;
if(a.x>b.x)return 1;
return 0;
}
int dist(int p,int q){
return v[p].y+v[q].y+v[q].x-v[p].x;
}
int main()
{
FILE *fin,*fout;
fin=fopen("orase.in","r");
fout=fopen("orase.out","w");
int n,i,m,u;
fscanf(fin,"%d %d",&m,&n);
for(i=0;i<n;i++)
fscanf(fin,"%d %d",&v[i].x,&v[i].y);
qsort(v,n,sizeof(v[0]),cmpfunc);
u=0;
int dmax=dist(0,1);
for(i=2;i<n;i++){
if(dist(i-1,i)>dist(u,i))
u=i-1;
if(dist(u,i)>dmax)
dmax=dist(u,i);
}
fprintf(fout,"%d",dmax);
return 0;
}