Cod sursa(job #68114)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 26 iunie 2007 15:32:17
Problema Orase Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
FILE*f=fopen("orase.in","r");
FILE*g=fopen("orase.out","w");
long n,m,d[50009],l[50009],dmax=-100, max1, max2, dr1, dr2;
void citire()
{
  int i,j;
  fscanf(f,"%ld %ld",&m,&n);
  for(i=1;i<=n;++i)
     fscanf(f,"%ld %ld",&d[i],&l[i]);
}

void buble()
{ 
  long aux, i, j, ok=0;
  while (ok==0)
    { ok=1;
      for (i=1; i<n; i++)
 	for (j=i+1; j<=n; j++)
  	  if (l[i]>l[j])
	    { aux=l[i]; l[i]=l[j]; l[j]=aux;
	      aux=d[i]; d[i]=d[j]; d[j]=aux;
	      ok=0;
	    }
    }
}	
  

void calcul()
{
  int i,j;
  for (j=n; j>=n/2+1; j--)
  for(i=n-1;i>1;i--)
    if(abs(d[i]-d[j])+l[i]+l[j]>dmax) dmax=abs(d[i]-d[j])+l[i]+l[j];
  fprintf(g,"%ld",dmax);
}


int main()
{
  citire();
  buble();
  calcul();
  fclose(f);
  fclose(g);
  return 0;
}