Pagini recente » Cod sursa (job #1318036) | Cod sursa (job #2832495) | Cod sursa (job #2767259) | Cod sursa (job #2547712) | Cod sursa (job #2550360)
#include <bits/stdc++.h>
using namespace std;
int n, a, b, c;
int v[10000100];
void radixSort(int dim = 1){
vector <int> buckets[260];
for (int cnt = 0; cnt <= 3; cnt++, dim *= 256){
for (int i=0; i<n; i++)
buckets[(v[i] / dim) % 256].push_back(v[i]);
int idx = 0;
for (int i=0; i<256; i++){
for (auto it: buckets[i]) v[idx++] = it;
buckets[i].clear();
}
}
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ifstream cin ("radixsort.in");
ofstream cout ("radixsort.out");
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();
for (int i=0; i<n; i+=10) cout << v[i] << ' ';
return 0;
}