Pagini recente » Cod sursa (job #466123) | Cod sursa (job #1406305) | Cod sursa (job #1095203) | Cod sursa (job #344451) | Cod sursa (job #655820)
Cod sursa(job #655820)
#include <stdio.h>
#include<stdlib.h>
FILE *f=fopen("orase.in","r"),*g=fopen("orase.out","w");
long int m,n;
struct oras{
long int d;
long int l;
}v[50001];
int cmp(const void *a,const void *b){
int x=(*(oras *)a).d-(*(oras *)b ).d;
if(x==0){x=(*(oras *)a).l-(*(oras *)b).l;}
return x;
}
void citire(){
long int i;
fscanf(f,"%ld %ld\n",&m,&n);
for(i=1; i<=n; i++){
fscanf(f,"%ld %ld\n",&v[i].d,&v[i].l);
}
}
void rezolvare(){
long int i,max=-1,ind,s;
ind=1;
for(i=2; i<=n; i++){
s=v[i].l+v[i].d+v[ind].l-v[ind].d;
if(s>max){max=s;}
if(v[i].l-v[i].d>v[ind].l-v[ind].d){
ind=i;
}
}
fprintf(g,"%ld",max);
}
int main()
{
citire();
qsort(v+1,n,sizeof(oras),cmp);
rezolvare();
return 0;
}