Cod sursa(job #332667)

Utilizator bugyBogdan Vlad bugy Data 19 iulie 2009 09:28:35
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<stdio.h>
using namespace std;
#define dim 50001
long long a[dim],v[dim];      
long i=0,j=0,temp=0,aux=0,m=0,n=0;
long quicksort(unsigned long inceput, unsigned long ultimul)      
{     
  i=inceput;      
  j=ultimul;      
  temp=a[(i+j)/2];      
 do     
   {while(a[i]<temp)      i=i+1;      
    while(a[j]>temp)      j=j-1;      
    if(i<j)      
     {aux=a[i]; a[i]=a[j]; a[j]=aux;m++;
	  aux=v[i]; v[i]=v[j]; v[j]=aux;m++;}      
    if(i<=j)      
     {j=j-1;      
      i=i+1;      
     }      
   }while(i<=j);      
   if(inceput<j)    quicksort(inceput,j);      
   if(i<ultimul)    quicksort(i,ultimul);      
   
}  


int main()
{
	int max=0,maxim=0,p;
FILE *f=fopen("orase.in","r"), *g=fopen("orase.out","w");

fscanf(f,"%ld%ld",&m,&n);

for(i=1;i<=n;i++)
	fscanf(f,"%ld%ld",&a[i],&v[i]);
quicksort(1,n);
p=2;
for(i=1;i<=n;i++)
	
	for(j=p;j<=n;j++)
		{
			max=v[i]-a[i]+v[j]+a[j];
			if(max>maxim) {maxim=max;p=j;}
		}
	
	
		fprintf(g,"%d\n",maxim);



		
		
fclose(f);
fclose(g);
return 0;
}