Pagini recente » Cod sursa (job #2491111) | Cod sursa (job #512156) | Cod sursa (job #414681) | Cod sursa (job #650264) | Cod sursa (job #1584199)
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int x, y;
}oras;
oras v[50000];
int cmp(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 dmax, i, u,n, m;
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]), cmp);
u=0;
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\n", dmax);
fclose(fin);
fclose(fout);
return 0;
}