Pagini recente » Cod sursa (job #2033239) | Cod sursa (job #413439) | Cod sursa (job #22976) | Cod sursa (job #1951545) | Cod sursa (job #1539909)
#include <fstream>
#include <algorithm>
#define nmax 500001
using namespace std;
int v[nmax];
void Ordoneaza(int s, int d) {
if(d - s == 1) return ;
int i = s, m = (s + d) >> 1, j = m, k = s;
Ordoneaza(s, m);
Ordoneaza(m, d);
inplace_merge(v + s, v + m, v + d);
}
int main() {
ifstream f("algsort.in");
ofstream g("algsort.out");
int n, i;
bool sortd = true;
f >> n >> v[0];
for(i = 1; i < n; ++i) {
f >> v[i];
sortd = sortd && (v[i] >= v[i - 1]);
}
if(!sortd) Ordoneaza(0, n);
for(i = 0; i < n; ++i)
g << v[i] << " ";
g << "\n";
f.close();
g.close();
return 0;
}