Pagini recente » Cod sursa (job #2443919) | Cod sursa (job #788570) | Cod sursa (job #1457006) | Cod sursa (job #3276738) | Cod sursa (job #2246604)
#include <bits/stdc++.h>
using namespace std;
/// In blat we trust
int v[500010];
int v2[500010];
mt19937 rnd((long long) new char);
ifstream in("algsort.in");
ofstream out("algsort.out");
void Qsort(int, int);
void Qsort(int st, int dr)
{
if (st == dr)
return;
int mij = (st + dr) / 2;
thread s1(Qsort, st, mij);
thread s2(Qsort, mij + 1, dr);
s1.join();
s2.join();
merge(v + st, v + mij + 1, v + mij + 1, v + dr + 1, v2 + st);
for (int i = st; i <= dr; i++)
v[i] = v2[i];
}
int main()
{
int n;
in >> n;
for (int i = 1; i <= n; i++)
in >> v[i];
Qsort(1, n);
for (int i = 1; i <= n; i++)
out << v[i] << ' ';
return 0;
}