Pagini recente » Cod sursa (job #2918858) | Cod sursa (job #893361) | Cod sursa (job #2905247) | Cod sursa (job #1464366) | Cod sursa (job #2136516)
#include <bits/stdc++.h>
int N, A, B, C, i, v[10000000];
std :: queue<int> b[256];
main()
{
std :: ifstream("radixsort.in") >> N >> A >> B >> C;
scanf("%d %d %d %d", &N, &A, &B, &C);
v[0] = B;
for(i = 1; i < N; ++i)
{
v[i] = (1LL * v[i - 1] * A + B) % C;
}
for(int j = 0; j < 4; ++j)
{
for(i = 0; i != N; ++i)
{
b[v[i] >> j * 8 & 255].push(v[i]);
}
int index = 0;
for(i = 0; i < 256; ++i)
{
while(!b[i].empty())
{
v[index++] = b[i].front();
b[i].pop();
}
}
}
std :: ofstream o("radixsort.out");
for(i = 0; i < N; i += 10) o << v[i];
}