Nu aveti permisiuni pentru a descarca fisierul grader_test20.ok
Cod sursa(job #2762493)
| Utilizator | Data | 7 iulie 2021 18:19:06 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.99 kb |
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <vector>
#include <cstring>
#include <map>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <string>
#include <random>
#include <queue>
#include <deque>
#include <stack>
using namespace std;
#define MOD 1000000007
int v[500500];
void qsort(int l, int r) {
int i = l, j = r, p = v[(l + r) / 2];
while (i < j) {
while (v[i] < p) ++i;
while (v[j] > p) --j;
if (i <= j) {
swap(v[i], v[j]);
++i;
--j;
}
}
if (i < r) qsort(i, r);
if (j > l) qsort(l, j);
}
int main() {
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
int n;
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
scanf("%d", &v[i]);
}
qsort(0, n-1);
for (int i = 0; i < n; ++i) {
printf("%d ", v[i]);
}
return 0;
}
