Pagini recente » Cod sursa (job #100018) | Cod sursa (job #2967807) | Cod sursa (job #1487796) | Cod sursa (job #1958413) | Cod sursa (job #332663)
Cod sursa(job #332663)
#include<stdio.h>
using namespace std;
#define dim 50000
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;
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);
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{max=v[i]-a[i]+v[j]+a[j];
if(max>maxim) maxim=max;}
fprintf(g,"%d\n",maxim);
fclose(f);
fclose(g);
return 0;
}