Cod sursa(job #2850810)

Utilizator carinamariaCarina Maria Viespescu carinamaria Data 17 februarie 2022 16:25:25
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int n, v[500001], i, nr[500001];
void MergeSort(int v[], int st, int dr){
	if(st<dr){
		int m=(st+dr)/2;
		MergeSort(v, st, m);
		MergeSort(v, m+1, dr);
		int i=st;
        int j=m+1;
        int k=0;
		while(i<=m && j<=dr)
			if(v[i]<v[j])
				nr[++k]=v[i++];
			else
				nr[++k]=v[j++];
		while(i<=m)
			nr[++k]=v[i++];
		while(j<=dr)
			nr[++k]=v[j++];
		for(i=st,j=1;i<=dr;i++,j++)
			v[i]=nr[j];
	}
}
int main() {
    cin>>n;
    for(i=1;i<=n;i++){
        cin>>v[i];
    }
    MergeSort(v, 1, n);
    for(i=1;i<=n;i++)
        cout<<v[i]<<" ";






}