Cod sursa(job #3348762)

Utilizator Andrei1209Andrei Mircea Andrei1209 Data 23 martie 2026 21:02:59
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
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);

    vector <int> aux;
    int i = st, j = mij + 1;
    while ( i <= mij || j <= dr )
    {
        if ( i <= mij && v[i] < v[j] || j > dr )
            aux.push_back(v[i++]);
        else
            aux.push_back(v[j++]);
    }
    for ( i = 0; i < aux.size(); ++i )
        v[st + i] = aux[i];
}
int v[500005];
int main()
{
    int n, i;
    fin >> n;
    for ( i = 1; i <= n; ++i )
        fin >> v[i];

    mergeSort(v, 1, n);
    for ( i = 1; i <= n; ++i )
        fout << v[i] << " ";


    return 0;
}