Pagini recente » Cod sursa (job #2489190) | Cod sursa (job #1865584) | Cod sursa (job #442120) | Cod sursa (job #953424) | Cod sursa (job #2550357)
#include <bits/stdc++.h>
using namespace std;
void radixSort(int a[], int n, int dim = 1){
vector <int> buckets[260];
for (int cnt = 0; cnt <= 3; cnt++, dim *= 256){
for (int i=0; i<n; i++)
buckets[(a[i] / dim) % 256].push_back(a[i]);
int idx = 0;
for (int i=0; i<256; i++){
for (auto it: buckets[i]) a[idx++] = it;
buckets[i].clear();
}
}
}
int v[10000100];
int main(){
ifstream cin ("radixsort.in");
ofstream cout ("radixsort.out");
int n, a, b, c;
cin >> n >> a >> b >> c;
v[0] = b;
for (int i=1; i<n; i++) v[i] = (1LL * a * v[i-1] + b) % c;
radixSort(v, n);
for (int i=0; i<n; i+=10) cout << v[i] << ' ';
return 0;
}