Cod sursa(job #1121377)

Utilizator bogdanpaunFMI Paun Bogdan Gabriel bogdanpaun Data 25 februarie 2014 12:42:19
Problema Sortare prin comparare Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <cstdio>

using namespace std;
int N,v[100005],b[100005];

void _sort(int L,int R){
    if( L < R ){
        int m = L + (R-L) / 2;
        _sort(L,m);
        _sort(m+1,R);
        int i=L,j=m+1,k=L;
        while(  i <= m && j <= R ){
            if( v[i] < v[j] ) b[ k++ ]=v[i++];
            else b[k++]=v[j++];}
        while(i <= m) b[k++] = v[i++];
		while(j <= R) b[k++] = v[j++];
		for(i = L; i <= R; i++) v[i] = b[i];
    }
}
int main()
{
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&N);
    for( register int i=0; i<=N-1; ++i )
        scanf("%d",&v[i]);
    _sort(0,N-1);
    for(int i = 0; i <= N-1; i++) printf("%d ",v[i]);
    return 0;
}