Cod sursa(job #1086618)

Utilizator ion824Ion Ureche ion824 Data 18 ianuarie 2014 13:32:00
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
using namespace std;
const int NM = 500003;

int a[NM],b[NM];

void MergeSort(int l,int r){
     int m=(l+r)>>1;
     int i,j,k;
     
     if(l==r) return;
     
     MergeSort(l,m);
     MergeSort(m+1,r);
     
     for(i=1;i<=m-l+1;++i) b[i]=a[l+i-1];
     
     i = 1; j = m+1; k = l;
     while(i<=m-l+1 && j<=r)
       a[k++] = (a[j] < b[i]) ? a[j++] : b[i++];
       
     while(i<=m-l+1) a[k++] = b[i++];      
}


int main(){
    ifstream cin("algsort.in");
    ofstream cout("algsort.out");
    int N,i;
    cin>>N;
    for(i=1;i<=N;++i) cin>>a[i];
    MergeSort(1,N);
    
    for(i=1;i<=N;++i) cout<<a[i]<<' ';
    
 return 0;   
}