Cod sursa(job #2268470)

Utilizator pasoi_stefanPasoi Stefan pasoi_stefan Data 24 octombrie 2018 20:50:11
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int N,a[1000005],b[1000005];
void MergeSort(int s,int d){
    if(s==d) return ;
    int m=(s+d)/2;
    MergeSort(s,m);
    MergeSort(m+1,d);
    int i=s,j=m+1,k=0;
    while(i<=m && j<=d)
        if(a[i]<a[j])
            b[++k]=a[i++];
        else b[++k]=a[j++];
    while(i<=m) b[++k]=a[i++];
    while(j<=d) b[++k]=a[j++];
    for(i=s,j=1;i<=d;i++,j++)
        a[i]=b[j];
}
int main(){
    cin>>N;
    for(int i=1;i<=N;i++) cin>>a[i];
    MergeSort(1,N);
    for(int i=1;i<=N;i++) cout<<a[i]<<' ';
}