Cod sursa(job #3317320)

Utilizator nicoleta_iancuIancu Nicoleta nicoleta_iancu Data 23 octombrie 2025 09:54:15
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
const int NMAX=500000;
int aux[NMAX];
int v[NMAX];
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int interclasare(int v[],int st,int dr){
    int m=(st+dr)/2;
    int i=st;
    int k=st;
    int j=m+1;
    while(i<m+1 && j<dr+1){
        if(v[i]<=v[j]){
            aux[k++]=v[i++];
        }else{
            aux[++k]=v[j++];
        }
    }
    while(i<=m){
        aux[k++]=v[i++];
    }
    while(j<=dr){
        aux[k++]=v[j++];
    }
    for(int i=st;i<=dr;++i){
        v[i]=aux[i];
    }
}

void mergesort(int v[],int st,int dr){
    if(st==dr){
        return;
    }
    int mij=(st+dr)/2;
    mergesort(v,st,mij);
    mergesort(v,mij+1,dr);
    interclasare(v,st,dr);
}
int main(){
    int n;
    fin>>n;
    for(int i=0;i<n;++i){
        fin>>v[i];
    }
    mergesort(v,0,n-1);
    for(int i=0;i<n;++i){
        fout<<v[i];
    }
}