Cod sursa(job #2488085)

Utilizator nunucotropitoruDarabant Alex Dan nunucotropitoru Data 6 noiembrie 2019 09:25:48
Problema Sortare prin comparare Scor 100
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>
using namespace std;
int n;
int aux[500005],a[500005];
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void sortezzz (int left, int right)
{ int i,j,k,mid;
    if(left==right) return;
    mid=(left+right)/2;
    sortezzz(left,mid);
    sortezzz(mid+1,right);
    for(i=left ; i<=right; i++)
        aux[i]=0;
    i=left;
    j=mid+1;
    k=left;
    while(i<=mid && j<=right)
    {
        if(a[i]<a[j])
        {
            aux[k++]=a[i];
            i++;
        }
        else
        {
            aux[k++]=a[j];
            j++;
        }
    }
    while(i<=mid)
    {
        aux[k++]=a[i];
        i++;
    }
    while(j<=right)
    {
        aux[k++]=a[j];
        j++;
    }
for(i=left; i<=right; i++)
    a[i]=aux[i];
}
int main()
{
fin>>n;
for(int i=1; i<=n; i++)
    fin>>a[i];
sortezzz(1,n);
for(int i=1; i<=n; i++)
fout<<a[i]<<" ";


}