Cod sursa(job #2905232)

Utilizator mariailincailinca maria nechita mariailinca Data 20 mai 2022 14:34:26
Problema Radix Sort Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <fstream>

using namespace std;

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

const int MAXI=100000;
int v[MAXI],aux[MAXI];
int fr[256];

void radixsort(int v[], int N)
{
    for(int p = 0; p < 32; p += 8) {
        for(int i = 0; i < 256; i++)
            fr[i] = 0;

        for(int i = 1; i <= N; i++)
            fr[(v[i] >> p) & 255]++;

        for(int i = 1; i < 256; i++)
            fr[i] += fr[i - 1];

        for(int i = N; i >= 1; i--)
            aux[fr[(v[i] >> p) & 255]--] = v[i];

        for(int i = 1; i <= N; i++)
            v[i] = aux[i];
    }
}


int main()
{
    int N,A,B,C;
    fin >> N >> A >> B >> C;
    int v[N+1];
    for (int i=1;i<=N;i++)
        {
            if (i==1)
                v[i]=B;
            else
                v[i]=(1ll*A * v[i-1] + B) % C;
        }
    radixsort(v,N);
    for (int i=1;i<=N;i+=10)
        fout << v[i] << " ";
    return 0;
}