Cod sursa(job #2136613)
Utilizator | Data | 20 februarie 2018 00:48:08 | |
---|---|---|---|
Problema | Radix Sort | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include<bits/stdc++.h>
int N,A,B,C,i=1,v['ॆ'];std::queue<int>b[256];main(){std::ifstream("radixsort.in")>>N>>A>>B>>C;for(*v=B;i<N;v[i]=(1LL*v[i++-1]*A+B)%C);for(A=0;A<4;++A){for(i=B=0;i-N;b[v[i++]>>A*8&255].push(v[i]));for(i=0;i<256;++i)for(;b[i].size();v[B++]=b[i].front(),b[i].pop());}std::ofstream o("radixsort.out");for(i=0;i<N;i+=10)o<<v[i]<<' ';}