Cod sursa(job #1175037)

Utilizator NitaMihaitavoidcube NitaMihaita Data 24 aprilie 2014 12:58:42
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
#define numaru 500001
using namespace std;
int v[numaru],t[numaru];
void MergeSort(int s,int d)
{
    if(s==d)return ;
    int i=s,m=(s+d)>>1,j=m+1,k=s;
    MergeSort(s,m);MergeSort(m+1,d);
    for(;i<=m || j<=d;)
        if(j>d || (i<=m && v[i]<v[j]))t[k++]=v[i++];
        else t[k++]=v[j++];
    for(k=s;k<=d;++k)
        v[k]=t[k];
}
int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    int i,n;
    f>>n;
    for(i=1;i<=n;++i)f>>v[i];
    MergeSort(1,n);
    for(i=1;i<=n;g<<v[i]<<" ",++i);
    f.close();
    g.close();
    return 0;
}