Pagini recente » Cod sursa (job #2449238) | Cod sursa (job #1226860) | Cod sursa (job #1951687) | Cod sursa (job #1597255) | Cod sursa (job #2138033)
#include <fstream>
int 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]=(1LL*v[0][i-1]*A+B)%C);
R();R();R();R();
for(i=0;i^N;i+=10) o<<i[*v]<<' ';
}