Cod sursa(job #1451772)

Utilizator gabrielinelusGabriel-Robert Inelus gabrielinelus Data 18 iunie 2015 14:48:09
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

#define Nmax 500005

using namespace std;
int V[Nmax],aux[Nmax];
int N;

void merge_sort(int li,int lf)
{
    if(li == lf)
        return;
    int m = li + ((lf - li) >> 1);
    merge_sort(li,m);
    merge_sort(m+1,lf);
    merge(V+li,V+m+1,V+m+1,V+lf+1,aux+li);
    for(int i = li; i <= lf; ++i)
        V[i] = aux[i];

}

int main()
{
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);

    scanf("%d",&N);
    for(int i = 1 ; i<= N; ++i)
        scanf("%d",&V[i]);
    merge_sort(1,N);
    for(int i = 1; i <= N; ++i)
       printf("%d ",V[i]);
    return 0;
}