Cod sursa(job #3327713)

Utilizator horatiu.avramAvram Popa Cristian Horatiu horatiu.avram Data 4 decembrie 2025 20:48:37
Problema Sortare prin comparare Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include<bits/stdc++.h>
using namespace std;
#define MAXN 500000
#define MAXV (1<<31)
#define MAXB (1<<16)
#define MAXNB (1<<15)
#define BITS 15

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int v[MAXN];
vector<int>bucket[MAXB];

inline int getbucket(int val) {
    return val>>BITS;
}
int main() {
    int n,i,j,k;

    fin>>n;

    for(i=0; i<n; i++) {
        fin>>v[i];
    }
    for (i=0; i<n; i++) {
        bucket[getbucket(v[i])].push_back(v[i]);
    }

    k=0;
    for(i=0; i<MAXB; i++) {
        sort(bucket[i].begin(),bucket[i].end());
        for(j=0; j<bucket[i].size(); j++) {
            v[k++]=bucket[i][j];
        }
    }

    for (i=0; i<n; i++) {
        fout<<v[i]<<' ';
    }
    return 0;
}