Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #3341721) | Cod sursa (job #3341711) | Cod sursa (job #3341873)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
const int NMAX = 5e5 + 1;
int n, arr[NMAX];
void merge_sort(int st, int dr)
{
if(st >= dr)
return;
int mid = (st + dr) / 2;
merge_sort(st, mid);
merge_sort(mid + 1, dr);
inplace_merge(arr + st, arr + mid + 1, arr + dr + 1);
}
int main()
{
fin >> n;
for(int i = 1; i <= n; i++)
fin >> arr[i];
merge_sort(1, n);
for(int i = 1; i <= n; i++)
fout << arr[i] << " ";
fin.close();
fout.close();
return 0;
}