Pagini recente » Cod sursa (job #1159379) | Cod sursa (job #860708) | Cod sursa (job #1053806) | Cod sursa (job #1163667) | Cod sursa (job #2898379)
#include <bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long long v[500002], u[500002];
void mergeSort(int left, int right)
{
int mij = (left + right) / 2, i = left, j = mij + 1, k = left;
if (left == right)
return;
mergeSort(left, mij);
mergeSort(mij + 1, right);
while (i <= mij || j <= right){
if (j > right || (i <= mij && v[i] < v[j]))
u[k++] = v[i++];
else
u[k++] = v[j++];
}
for (k = left; k <= right; k ++)
v[k] = u[k];
}
int main() {
long long n, i;
f >> n;
for (i = 0 ; i < n; i ++)
f >> v[i];
mergeSort(0, n-1);
for (i = 0 ; i < n; i ++)
g << v[i] <<" ";
return 0;
}