Pagini recente » Cod sursa (job #810937) | Cod sursa (job #2365728) | Cod sursa (job #2086144) | Cod sursa (job #141185) | Cod sursa (job #332667)
Cod sursa(job #332667)
#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;
}