Cod sursa(job #2081398)

Utilizator mlc_oficialBoris Barca mlc_oficial Data 4 decembrie 2017 18:06:44
Problema Sortare prin comparare Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>
#include <stdlib.h>

#define kMaxN 500000

int arr[kMaxN], idx[kMaxN];

int MyComp(const void* a, const void* b) {
    return arr[*(int*)a]- arr[*(int*)b];
}

int main(void) {
#ifdef INFOARENA
    freopen("algsort.in", "r", stdin);
    freopen("algsort.out", "w", stdout);
#endif

    int n, i; scanf("%d", &n);
    for (i = 0; i < n; i += 1) {
        scanf("%d", &arr[i]);
    }
    
    for (i = 0; i < n; i += 1) {
         idx[i] = i;
    }

    qsort(idx, n, sizeof(int), MyComp);
    for (i = 0; i < n; i += 1) {
        printf("%d ", arr[idx[i]]);
    }
}