Cod sursa(job #3254330)

Utilizator MogoneaMIhneaMogonea Mihnea Mihai MogoneaMIhnea Data 7 noiembrie 2024 11:14:54
Problema Sortare prin comparare Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
long long n,i,v[500001],srt[500001];
void msort(long long v[], long long st, long long dr){
    if(st<dr){
        long long mid=(st+dr) / 2;
        msort(v,st,mid);
        msort(v,mid+1,dr);
        long long i=st, j=mid+1, k=0;
        while( i<=mid  &&  j<=dr)
            if(v[i]<v[j])
                srt[++k]=v[i++];
            else
                srt[++k]=v[j++];
        while(i<=mid)
            srt[++k]=v[i++];
        while(j<=dr)
            srt[++k]=v[j++];
        for(i=st,j=1; i<= dr ; i++, j++)
            v[i] = srt[j];
    }
}
int main (){
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
   msort(v,1,n);
   for(i=1;i<=n;i++)
        fout<<v[i]<<" ";
}