Cod sursa(job #3188022)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 1 ianuarie 2024 12:25:24
Problema Radix Sort Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("radixsort.in");
ofstream G("radixsort.out");
long long v[10000000],n,a,b,c,u[10000000],m,d[256],j,i,l;
int main()
{
    for(F>>n>>a>>b>>c,m=v[0]=b,i=1;i<n;v[i]=(a*v[i-1]+b)%c,++i);
    for(j=1,l=4;l--;j*=256) {
        for(memset(d,0,sizeof d),i=0;i<n;++d[v[i++]/j%256]);
        for(i=1;i<256;d[i]+=d[i-1],++i);
        for(i=n-1;i>=0;u[--d[v[i]/j%256]]=v[i],--i);
        for(i=0;i<n;v[i]=u[i],++i);
    }
    for(i=0;i<n;G<<v[i]<<' ',i+=10);
    return 0;
}