Pagini recente » Cod sursa (job #2385844) | Cod sursa (job #2473996) | Cod sursa (job #1484780) | Cod sursa (job #2332860) | Cod sursa (job #1231276)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
vector <int> v[1<<16];
int n,aa,b,c,a[10000005];
int main()
{ int i,j,k;
f>>n>>aa>>b>>c;
a[1]=b;
v[b-((b>>16)<<16)].push_back(b);
for(i=2;i<=n;i++)
{ a[i]=((long long)aa*a[i-1]+b)%c;
v[a[i]-((a[i]>>16)<<16)].push_back(a[i]);
}
k=0;
for(i=0;i<(1<<16);i++)
{
for(j=0;j<v[i].size();j++)
{k++;a[k]=v[i][j];}
v[i].clear();
}
//for(i=1;i<=n;i++)
//v[a[i]>>16].push_back(a[i]);
return 0;
}