Cod sursa(job #588383)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 7 mai 2011 20:02:37
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream.h>
#define N 500000
long v[N],n,y[N],i;
void merge(long v[N],long p,long q)
{long m=(p+q)/2,i,j,k,t;
if(p==q)
      return;
merge(v,p,m);
merge(v,m+1,q);
for(i=p,j=m+1,k=p;i<=m||j<=q;)
if(j>q||(i<=m&&v[i]<v[j]))
      y[k++]=v[i++];
else
      y[k++]=v[j++];
for(t=p;t<=q;t++)
      v[t]=y[t];}
int main()
{ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for(i=0;i<n;i++)
      f>>v[i];
merge(v,0,n-1);
for(i=0;i<n;i++)
      g<<v[i]<<" ";
f.close();
g.close();
return 0;}