Pagini recente » Cod sursa (job #757133) | Cod sursa (job #1725379) | Cod sursa (job #2359501) | Cod sursa (job #2628489) | Cod sursa (job #1281313)
# include <bits/stdc++.h>
using namespace std;
const int nmax = 1e7 + 5;
int s[nmax];
int v[nmax];
int g[256];
int main(void)
{
int a,b,c,n;
ifstream fi("radixsort.in");
ofstream fo("radixsort.out");
fi>>n>>a>>b>>c;
for (int i=1;i<=n;++i) s[i]=(1LL*a*s[i-1]+b)%c;
for (int j=0;j<25;j+=8)
{
memset(g,0,sizeof(g));
for (int i=1;i<=n;++i) ++g[(s[i]>>j)&255];
for (int i=1;i<256;++i) g[i]+=g[i-1];
for (int i=n;i;--i) v[g[(s[i]>>j)&255]--]=s[i];
for (int i=1;i<=n;++i) s[i]=v[i];
}
for (int i=1;i<=n;i+=10) fo << s[i] << ' ';
return fo << '\n',0;
}