Cod sursa(job #2138034)

Utilizator inquisitorAnders inquisitor Data 21 februarie 2018 11:42:54
Problema Radix Sort Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

__int64 N,A,B,C,v[2][0x989680],i,d,t;

void R()
{
    int f[256]{},p[256];*p=-1;

    for(i=N;i;++f[v[t][--i]>>d&255]);

    for(;i^256;p[++i]=p[i-1]+f[i-1]);

    for(i=0;i^N;++i)v[!t][++p[v[t][i]>>d&255]]=v[t][i];

    d+=8;t^=1;
}

int main()
{
    std::ifstream("radixsort.in")>>N>>A>>B>>C;
    std::ofstream o("radixsort.out");

    for(**v=B;i^N;v[0][++i]=(v[0][i-1]*A+B)%C);

    R();R();R();R();

    for(i=0;i^N;i+=10) o<<i[*v]<<' ';
}