Cod sursa(job #2623374)

Utilizator paulconst1Constantinescu Paul paulconst1 Data 3 iunie 2020 00:36:13
Problema Radix Sort Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <vector>

using namespace std;

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

vector <int> v;
int n, a, b, c;

void sol(int i)
{
    vector <int> a[256];
    for (int j=0; j<n; j++)
        a[255&(v[j]>>i*8)].push_back(v[j]);
    v.clear();
    for (int j=0; j<256; j++)
    {
        for(int k=0; k<a[j].size(); k++)
            v.push_back(a[j][k]);
        a[j].clear();
    }
}

int main()
{
    fin>>n>>a>>b>>c;
    v.push_back(b);
    for (int i=2; i<=n; i++)
        v.push_back((a*v.back()+b)%c);

    for (int i=0; i<4; i++)
        sol(i);

    for (int i=0; i< v.size(); i+=10)
        fout<<v[i]<<' ';
}