Pagini recente » Cod sursa (job #1515632) | Cod sursa (job #422928) | Cod sursa (job #1608339) | Cod sursa (job #1017852) | Cod sursa (job #2057954)
#include <bits/stdc++.h>
using namespace std;
ifstream fi("radixsort.in");
ofstream fo("radixsort.out");
int v[10000001], w[10000001], x[256];
inline void radix(int n, int v[], int w[], int b) {
memset(x, 0, sizeof x);
for (int i = 0; i <= n; ++i) ++x[v[i] >> b & 255];
for (int i = 1; i < 256; ++i) x[i] += x[i - 1];
for (int i = n; i > 0; --i) w[x[v[i] >> b & 255]--] = v[i];
}
main() {
int n, a, c; fi >> n >> a >> v[1] >> c;
for (int i = 2; i <= n; ++i) v[i] = (1LL * a * v[i - 1] + v[1]) % c;
radix(n, v, w, 0);
radix(n, w, v, 8);
radix(n, v, w, 16);
radix(n, w, v, 24);
for (int i = 1; i <= n; i += 10) fo << v[i] << ' ';
}