Pagini recente » Istoria paginii runda/simulare-cartita-47 | Cod sursa (job #1459192) | Cod sursa (job #1297609) | Cod sursa (job #3191620) | Cod sursa (job #1220434)
#include <iostream>
#include <cstdio>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <cmath>
#include <fstream>
using namespace std;
#define inf 0xfffffff
#define MOD 1999999973
int n, a[500005];
void qs(int l, int r) {
int i = l, j = r, p = a[(l+r)/2];
while (i <= j) {
while (a[i] < p) i++;
while (a[j] > p) j--;
if (i <= j) {
swap(a[i], a[j]);
i++;
j--;
}
}
if (i < r) qs(i, r);
if (j > l) qs(l, j);
}
int main() {
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d", &n);
for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
qs(1, n);
for (int i = 1; i <= n; i++) printf("%d ", a[i]);
return 0;
}