Cod sursa(job #3327501)

Utilizator horatiu.avramAvram Popa Cristian Horatiu horatiu.avram Data 4 decembrie 2025 11:05:05
Problema Radix Sort Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include<bits/stdc++.h>
using namespace std;
const int MAXBITS=32;
const int BITS=8;
const int MAXN=1e7;
const int MAXM=256;
ifstream fin("radixsort.in");
ofstream fout("radixsort.out");
int v[MAXN+1];
vector<int>f[MAXM];
int main() {
    int n,a,b,c;
    fin>>n>>a>>b>>c;
    v[0]=b;
    for(int i=1; i<n; i++) {
        v[i]=((long long)a*v[i-1]+b)%c;
    }
    int nr;
    for(int j=0; j<MAXBITS/BITS; j++) {
        for(int i=0; i<n; i++) {
            f[(v[i]>>(j*BITS))&(MAXM-1)].push_back(v[i]);
        }
        nr=0;
        for(auto vec:f) {
            for(auto it:vec) {
                v[nr++]=it;
            }
            vec.clear();
        }
    }
    for(int i=0; i<n; i+=10) {
        fout<<v[i]<<' ';
    }
    return 0;
}