Pagini recente » Cod sursa (job #2787659) | Cod sursa (job #2936991) | Cod sursa (job #1038663) | Cod sursa (job #618824) | Cod sursa (job #3302667)
#include<bits/stdc++.h>
using namespace std;
ifstream in("radixsort.in");
ofstream out("radixsort.out");
int n,val=(1<<16),a,b,c,ct;
long long x;
vector<vector<int>>bucket1(val),bucket2(val);
int main()
{in>>n>>a>>b>>c;
bucket1[b%val].push_back(b);
for(int i=1;i<n;i++)
{x=int(x*a+b%c);
bucket1[x%val].push_back(x);
}
for(int i=0;i<val;i++)
{for(auto k:bucket1[i])
bucket2[k/val].push_back(k);
bucket1[i].clear();
}
for(int i=0;i<val;i++)
for(auto k:bucket2[i])
{ct++;
if(ct%10==1)
out<<k<<" ";
}
}