Cod sursa(job #1669880)

Utilizator ValentinSavoiuFMI Savoiu Valentin-Marian ValentinSavoiu Data 31 martie 2016 10:41:28
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int a[500001],n,i,m,b[500001];;
void MergeS(int s,int d)
{
    if(d>s)
    {
        m=(d+s)/2;
        MergeS(s,m);
        MergeS(m+1,d);
        int j,i=j=1,k=1;
        for(i=1;i<=m;i++) b[i]=a[i];
        i=1;j=m+1;
        while(i<=m&&j<=d)
        {
            if(a[j]>b[i]) a[k++]=b[i++];
            else a[k++]=a[j++];
        }
        while(i<=m)
            a[k++]=b[i++];
    }
}
int main()
{
    f>>n; for(i=1;i<=n;i++) f>>a[i];
    MergeS(1,n);
    for(i=1;i<=n;i++) g<<a[i]<<' ';
    return 0;
}