Cod sursa(job #275050)

Utilizator abcdefjean valjean abcdef Data 10 martie 2009 10:28:42
Problema Orase Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
long i,j,z,n,dmax,dmaxx,jmax,d[100000],l[100000],m;
int main()
{ freopen("orase.in","r",stdin); freopen("orase.out","w",stdout);
  scanf("%ld%ld",&m,&n);
  for(i=1;i<=n;i++) scanf("%ld%ld",&d[i],&l[i]);
  for(i=1;i<n;i++) for(j=i+1;j<=n;j++) if(d[i]>d[j])
   { z=d[i]; d[i]=d[j]; d[j]=z; z=l[i]; l[i]=l[j]; l[j]=z; }
  dmax=-d[1]+d[2]+l[2]+l[1];j=1; jmax=1;dmaxx=l[1]-d[1];
  for(i=2;i<=n;i++)
   { if(l[i-1]-d[i-1]>dmaxx){jmax=i-1;dmaxx=l[i-1]-d[i-1];}
     if(d[i]+l[i]+l[jmax]-d[jmax]>dmax)dmax=d[i]+l[i]+l[jmax]-d[jmax];
   }
  printf("%ld",dmax);
  fclose(stdin);fclose(stdout);
  return 0;
}