Cod sursa(job #3262865)

Utilizator ireallydontcareidontcare ireallydontcare Data 11 decembrie 2024 19:45:31
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int v[10001];
int aux[10001];

void merge(int st, int dr) {
    if(st == dr)
        return ;
    
    int mid = (st + dr) / 2;

    merge(st,mid);
    merge(mid + 1, dr);

    int i = st, j = mid + 1;
    int cnt = 0;

    while(i <= mid && j <= dr){
        if(v[i] > v[j]){
            aux[++cnt] = v[j];
            j++;
        }
        else{
            aux[++cnt] = v[i];
            i++;
        }
    }
    while(i <= mid){
        aux[++cnt] = v[i];
        i++;
    }
    while(j <= dr){
        aux[++cnt] = v[j];
        j++;
    }

    for(int k = 1; k <= cnt; k ++){
        v[st + k - 1] = aux[k];
    }
}